tools.bundlerChain

  • 类型:
type BundlerChainFn = (
  chain: RspackChain | webpackChain,
  utils: ModifyBundlerChainUtils,
) => Promise<void> | void;
  • 默认值: undefined

你可以通过 tools.bundlerChain 来修改默认的 webpack 和 Rspack 配置,它的值为 Function 类型,接收两个参数:

  • 第一个参数为 bundler-chain 对象实例,你可以通过这个实例来修改 webpack 和 Rspack 的配置。
  • 第二个参数为一个工具集合,包括envisProdCHAIN_ID 等。
什么是 BundlerChain

Bundler chain 是 webpack chain 的子集,其中包含一部分 webpack chain API,你可以用它来同时修改 webpack 和 Rspack 的配置。

通过 bundler chain 修改的配置,在 webpack 和 Rspack 构建时均可生效。需要注意的是,bundler chain 只支持修改 webpack 和 Rspack 间无差异部分的配置。如,修改 devtool 配置项(webpack 和 Rspack 的 devtool 属性值类型相同),或添加一个Rspack 兼容的 webpack 插件。

tools.bundlerChain 的执行时机早于 tools.webpackChain / tools.webpack / tools.rspack,因此会被其他几个配置中的修改所覆盖。

更多信息可参考 Rsbuild#tools.bundlerChain