与构建产物相关的选项。
指定输出文件的 字符编码,以确保它们在不同的环境中能够正确显示。
是否在构建开始前清理产物目录下的所有文件(产物目录默认为 dist
)。
将指定的文件或目录拷贝到构建输出目录中,基于 rspack.CopyRspackPlugin 实现。
用于自定义 CSS Modules 配置。
设置图片、字体、媒体等静态资源被自动内联为 base64 的体积阈值。
设置构建产物的输出目录,Rsbuild 会根据产物的类型输出到对应的子目录下。
Rslib 默认将 output.distPath
设置为:
是否将 CSS 输出到产物中。
在构建时,防止将代码中某些 import
的依赖包打包到 bundle 中,而是在运行时再去从外部获取这些依赖。
在 bundle 模式下,Rslib 会默认将 package.json
中 dependencies
、optionalDependencies
和 peerDependencies
字段下的三方依赖添加到 output.externals
中, 查看 lib.autoExternal 了解更多信息。
需要注意的是,output.externals
与 resolve.alias 有所不同。请查看 resolve.alias 文档以了解更多信息。
在生产模式构建后,是否在产物的文件名中添加 hash 值。
Rslib 默认将 output.filenameHash
设置为 false
。
设置构建产物的名称。
Rslib 默认会根据 format 设置 output.filename
,详情可查看 autoExtension。
用来控制是否用 <script>
标签将产物中的 script 文件(.js 文件)inline 到 HTML 中。
用来控制是否用 <style>
标签将产物中的 style 文件(.css 文件)inline 到 HTML 中。
配置 legal comment 的处理方式。
是否生成 manifest 文件,该文件包含所有构建产物的信息、以及入口模块与构建产物间的映射关系。
用于设置是否在生产模式下开启代码压缩,或是配置压缩工具的选项。
在未指定 output.minify
时,Rslib 会使用一个合理的默认值。
esm
, cjs
以及 umd
时,只会执行死代码消除和未使用代码消除,默认值为:mf
时,由于 MF 资源通过网络加载,这意味着它们不会被应用项目压缩。因此,需要在 Rslib 中对它们进行压缩。默认值为:指定项目兼容的目标浏览器范围。
Rslib 默认会根据 syntax 生成 output.overrideBrowserslist
,查看 ESX_TO_BROWSERSLIST 获取映射值。
控制 polyfills 的注入方式。
Rsbuild 的 output.polyfill
会将 polyfills 注入到全局作用域中,这可能会意外地修改库消费者的全局变量。对于非全局的 polyfill 方案,请参考 Polyfill - 浏览器。
用于设置是否生成 source map 文件,以及生成哪一种格式的 source map。
用于设置 Rsbuild 的构建产物类型。
Rslib 默认将 output.target
设置为 node
。
请查看 解决方案 了解更多关于构建产物的信息。