string | 'auto'
在 生产模式 下,可以使用该选项设置静态资源的 URL 前缀,比如设置为 CDN 地址。
assetPrefix
会影响构建产物中绝大部分静态资源的 URL,包括 JavaScript 文件、CSS 文件、图片、视频等。如果指定了一个错误的值,则在加载这些资源时可能会出现 404 错误。
该配置项仅用于生产模式。在开发模式下,请使用 dev.assetPrefix 配置项进行设置。
设置 output.assetPrefix
后,JavaScript、CSS、图片等静态资源的 URL 都会加上 output.assetPrefix
的值作为前缀。
构建后,JS 文件的 URL 如下:
构建后,JS 文件的 URL 如下:
output.assetPrefix
的默认值与 server.base 相同。
当 server.base
为 /foo
时,可通过 http://localhost:3000/foo/
访问到 index.html
及静态资源产物。
需要注意的是,当自定义 output.assetPrefix
选项时,如果希望静态资源能够通过 Rsbuild 预览服务器正常访问,output.assetPrefix
应和 server.base
包含相同的 URL 前缀,如:
assetPrefix 可以设置为以下类型的路径:
/assets/
,或是设置为 CDN 路径,比如 https://cdn.example.com/assets/
。./assets/
。通常不建议将 assetPrefix 设置为相对路径,因为当资源位于不同的路径深度时,使用相对路径可能会导致资源无法正确加载。
publicPath
output.assetPrefix
的功能与 Rspack 的 output.publicPath 配置基本一致。
它与原生配置的区别在于:
output.assetPrefix
仅在生产模式下生效。output.assetPrefix
默认值与 server.base 相同。output.assetPrefix
默认会自动补全尾部的 /
。output.assetPrefix
的值会写入 process.env.ASSET_PREFIX 环境变量(只能在 client 代码中访问)。