close

TreeShakingSharedPlugin

Stability: Experimental

概览

基于模块联邦配置对 shared 依赖进行按需构建与导出优化。

选项

  • mfConfigModuleFederationPluginOptions,传入模块联邦插件所需要的配置项。
  • plugins:额外插件列表,可在独立编译中复用。
  • secondary:是否在独立编译阶段执行二次摇树优化(二次摇树通常在部署平台确定了完整的依赖信息后重新触发的一次全新构建,提高共享依赖 tree shaking 命中的准确率)。

使用示例

rspack.config.mjs
import { TreeShakingSharedPlugin } from '@rspack/core';

export default {
  plugins: [
    new TreeShakingSharedPlugin({
      secondary: true,
      mfConfig: {
        name: 'app',
        shared: {
          'lodash-es': { treeShaking: true },
        },
        library: { type: 'var', name: 'App' },
        manifest: true,
      },
      plugins: [],
    }),
  ],
};

行为说明

  • 读取 shared 配置后标准化为 [shareName, SharedConfig][]
  • secondaryfalse 时,注册 SharedUsedExportsOptimizerPlugin,基于 stats 清单注入已用导出集合。
  • tree shaking 的共享包触发独立编译,产出回写到 stats/manifest 中的 fallback 字段。