resolve.mainFields

  • 类型: string[]
  • 版本: >= 1.5.9

控制用于定位包入口文件的 package.json 字段优先级。Rspack 在解析 npm 包入口时,会按该列表的顺序依次尝试这些字段。

TIP

resolve.mainFields 是 Rspack 提供的配置,参考 Rspack - resolve.mainFields 了解更多。

默认值

  • output.target 配置为 'web', 'web-worker',或未指定时,默认值为 ["browser", "module", "main"]
  • output.target 配置为 'node',默认值为 ["module", "main"]

基础示例

resolve.mainFields 配置的值会覆盖 Rsbuild 的默认值:

rsbuild.config.ts
export default {
  resolve: {
    mainFields: ['custom', 'module', 'main'],
  },
};

多环境

为不同 environments 配置不同的 mainFields

rsbuild.config.ts
export default {
  environments: {
    web: {
      resolve: {
        mainFields: ['custom', 'browser', 'module', 'main'],
      },
    },
    node: {
      resolve: {
        mainFields: ['custom', 'module', 'main'],
      },
    },
  },
};