exposes

  • 类型:PluginExposesOptions
  • 是否必填:否
  • 默认值:undefined
  • 使用场景:决定对外暴露的模块以及文件入口
TIP

生产者特有参数,设置了 exposes 则可认为这是一个生产者

配置之后,会将 expose 的模块单独抽离成一个 chunk ,如果有异步 chunk 会在抽取成单独 chunk(具体拆分行为根据 chunk 拆分规则而定)。

PluginExposesOptions 类型如下:

interface PluginExposesOptions {  [exposeKey: string]: string | ExposesConfig; }  interface ExposesConfig {  // 文件入口  import: string; }

其中 exposeKeyPackage Entry Points 规范基本一致(除了不支持正则匹配)。

举例:

module.exports = {  plugins: [  new ModuleFederationPlugin({  name: 'provider',  exposes: {  // 注意: 不支持 "./",为 . 导出是表示为 default 默认导出  '.': './src/index.tsx',  './add': './src/utils/add.ts',  './Button': './src/components/Button.tsx',  },  }),  ], };