功能类问题
如何配置组件库按需引入?
如果需要配置组件库的按需引入,你可以通过 source.transformImport 配置,这个配置的能力等价于 babel-plugin-import。
export default {
source: {
transformImport: [
{
libraryName: 'xxx-components',
libraryDirectory: 'es',
style: true,
},
],
},
};
如何在编译过程中进行 ESLint 代码校验?
出于编译性能的考虑,Rsbuild 默认不会在编译过程中进行 ESLint 校验,如果需要该功能,可以手动安装并注册社区中的 eslint-webpack-plugin。
注册该插件的示例代码如下:
import ESLintPlugin from 'eslint-webpack-plugin';
export default {
tools: {
bundlerChain(chain) {
chain.plugin('eslint-plugin').use(ESLintPlugin, [
{
extensions: ['.js', '.ts', '.jsx', 'tsx', '.mjs', '.cjs'],
},
]);
},
},
};
更详细的用法请参考 eslint-webpack-plugin 文档。
如何配置静态资源的 CDN 路径?
如果需要将 JS、CSS 等静态资源上传到 CDN 使用,那么可以通过 output.assetPrefix 配置来设置静态资源的 URL 前缀。
export default {
output: {
assetPrefix: 'https://cdn.example.com/assets/',
},
};
如何移除代码中的 console?
在生产环境构建时,我们可以移除代码中的 console
,从而避免开发环境的日志被输出到生产环境。
Rsbuild 默认提供了移除 console 的配置项,请查看 performance.removeConsole。
如何查看 Rsbuild 生成的 Rspack 配置?
通过 Rsbuild 调试模式可以查看 Rsbuild 生成的 Rspack 配置。
你可以在执行构建时添加 DEBUG=rsbuild
环境变量,即可开启 Rsbuild 的调试模式,此时会输出内部生成的 Rspack 配置到 dist 目录下。
➜ DEBUG=rsbuild pnpm dev
debug create context [1842.90 ms]
debug add default plugins [1874.45 ms]
debug add default plugins done [1938.57 ms]
...
Inspect config succeed, open following files to view the content:
- Rsbuild Config: /root/my-project/dist/rsbuild.config.mjs
- Rspack Config (web): /root/my-project/dist/rspack.config.web.mjs
如何忽略特定 warning 日志?
默认情况下,Rsbuild 会打印构建过程产生的所有 error 和 warning 日志。
如果遇到由于三方包产生大量 warning 日志,暂时又无法处理,希望忽略的情况。可通过 Rspack 提供的 ignoreWarnings
配置忽略特定 warning 日志。
export default {
tools: {
bundlerChain: (chain) => {
chain.ignoreWarnings([/Using \/ for division outside of calc()/]);
},
},
};
详细信息可参考: ignoreWarnings。