---
title: "createAssetServer"
source: "https://github.com/remix-run/remix/blob/8905f3943706e1f53696ab83e70a84873cabfc90/packages/assets/src/lib/asset-server.ts#L413"
---

# createAssetServer

## Summary

Create an asset server instance

Compiles TypeScript/JavaScript scripts and CSS styles on demand with optional
content-based URL fingerprinting, caching, and configurable directory mounts.

## Signature

```ts
function createAssetServer<
  transforms extends Readonly<
    Record<string, AssetRequestTransform<string, AssetRequestTransformParamMode>>
  >,
>(options: AssetServerCreateOptions<transforms>): AssetServer<transforms>

```

## Example

```ts
let assetServer = createAssetServer({
  basePath: '/assets',
  allowFiles: ['app/routes.ts', 'app/**/public/**'],
  allowPackages: ['remix'],
  denyFiles: ['app/**/*.test.*'],
})

route('/assets/*path', ({ request }) => assetServer.fetch(request))

```

## Parameters

### `options`

Server configuration

## Returns

A [`AssetServer`](/assets/interface/AssetServer/) with `fetch()`, `getHref()`, and `getPreloads()` methods