EsmLibraryPlugin

Added in v1.5.6Rspack only

Rspack 提供实验性的 EsmLibraryPlugin 插件,用于生成静态可分析,支持 Code Splitting 并且更加美观干净的 ESM 库产物。

TIP

🚧 该插件仍在开发中,配置可能随时变动。

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

export default {
  plugins: [new rspack.experiments.EsmLibraryPlugin()],
  output: {
    chunkFormat: false, // 将 chunkFormat 设成 false,EsmLibraryPlugin 会处理 chunk 的渲染和加载
  },
  optimization: {
    runtimeChunk: true, // 推荐使用独立的 runtime chunk,否则使用者需要从入口导入 runtime 代码
    concatenateModules: false, // 关闭 concatenateModules,EsmLibraryPlugin 有独立的 scope hoisting 实现
  },
};

已知限制

  • 模块的执行顺序不能 100% 保证,请避免依赖执行顺序相关的副作用。
  • 暂不支持 context module 和 ModuleFederation,不过未来会进行改进。