# exposes - 类型:`PluginExposesOptions` - 是否必填:否 - 默认值:`undefined` - 使用场景:决定对外暴露的模块以及文件入口 :::tip 生产者特有参数,设置了 `exposes` 则可认为这是一个生产者 ::: 配置之后,会将 expose 的模块单独抽离成一个 chunk ,如果有异步 chunk 会在抽取成单独 chunk(具体拆分行为根据 chunk 拆分规则而定)。 `PluginExposesOptions` 类型如下: ```tsx interface PluginExposesOptions { [exposeKey: string]: string | ExposesConfig; } interface ExposesConfig { // 文件入口 import: string; } ``` 其中 `exposeKey` 与 [Package Entry Points](https://nodejs.org/api/packages.html#package-entry-points) 规范基本一致(除了不支持正则匹配)。 举例: ```jsx module.exports = { plugins: [ new ModuleFederationPlugin({ name: 'provider', exposes: { // 注意: 不支持 "./",为 . 导出是表示为 default 默认导出 '.': './src/index.tsx', './add': './src/utils/add.ts', './Button': './src/components/Button.tsx', }, }), ], }; ```