> For AI agents: the complete documentation index is available at https://rsbuild.rs/zh/llms.txt, the full documentation bundle is available at https://rsbuild.rs/zh/llms-full.txt.

# server.serveAssets

- **类型：** `boolean`
- **默认值：** [output.target](https://rsbuild.rs/zh/config/output/target.md) 为 `web` 或 `web-worker` 时为 `true`，为 `node` 时为 `false`

控制 Rsbuild 的开发服务器和预览服务器是否通过 HTTP 提供构建产物，包括 JavaScript、CSS、HTML 和 source map。

将此选项设为 `false`，即可停止通过 HTTP 提供构建产物：

```ts title="rsbuild.config.ts"
export default {
  server: {
    serveAssets: false,
  },
};
```

设为 `false` 不影响编译、文件监听和产物写盘。你仍然可以通过开发服务器的 [loadBundle](https://rsbuild.rs/zh/api/javascript-api/environment-api.md#loadbundle) 和 [getTransformedHtml](https://rsbuild.rs/zh/api/javascript-api/environment-api.md#gettransformedhtml) API 访问产物。

你也可以通过 [server.setup](https://rsbuild.rs/zh/config/server/setup.md) 添加自定义路由，自行处理构建产物的 HTTP 请求。

## 多环境配置 \{#multiple-environments}

每个环境继承顶层的 `server.serveAssets` 配置，也可以单独设置以覆盖顶层配置。两者均未设置时，默认值由该环境的 [output.target](https://rsbuild.rs/zh/config/output/target.md) 决定。

例如，停止通过 HTTP 提供 Worker 环境的产物，同时继续提供浏览器资源：

```ts title="rsbuild.config.ts"
export default {
  environments: {
    web: {
      output: {
        distPath: 'dist/client',
      },
    },
    worker: {
      server: {
        serveAssets: false,
      },
      output: {
        target: 'web-worker',
        distPath: 'dist/worker',
      },
    },
  },
};
```

## Public 目录 \{#public-directories}

Public 目录中的文件由 [server.publicDir](https://rsbuild.rs/zh/config/server/public-dir.md) 管理：

- **开发模式：** 开发服务器独立提供 public 目录中的文件，不受 `serveAssets` 影响。如需同时停止提供这些文件，请设置 `server.publicDir: false`。
- **构建和预览：** `publicDir.copyOnBuild` 仍然控制是否将文件复制到输出目录。预览服务器将复制后的文件视为构建产物，是否提供这些文件由 `serveAssets` 控制。

## 输出目录重叠 \{#overlapping-output-directories}

如果多个环境共用输出目录，或输出目录之间存在包含关系，设置了 `serveAssets: true` 的环境也可能提供 `serveAssets: false` 环境的文件。

例如，提供整个 `dist` 目录的环境也可以提供 `dist/worker` 中的文件，即使 Worker 环境设置了 `serveAssets: false`。因此，当环境的 `serveAssets` 配置不同时，请使用 `dist/client` 和 `dist/worker` 这样的独立目录。

## 版本历史 \{#version-history}

| 版本     | 变更内容                     |
| ------ | ------------------------ |
| v2.3.2 | 新增 `server.serveAssets`。 |
