Webpack:如何覆盖package.json浏览器字段中忽略的模块?

yzuktlbb  于 2022-11-13  发布在  Webpack
关注(0)|答案(2)|浏览(176)

我正在加载带有webpack的Intl.js polyfill。
当尝试使用require('intl/locale-data/complete');加载完整的语言环境数据集时,它解析为一个空模块,因为intl package.json在browser字段中将此文件标记为忽略:

[...]
"browser": {
  "./locale-data/complete": false,
  "./locale-data/complete.js": false
},
[...]

我知道这是预期的行为,但是有没有办法在Webpack配置中覆盖它?

gojuced7

gojuced71#

我的解决方案(在webpack5中测试)

[...]
module: {
  rules: [
    {
      // make module compatible with nodejs
      test: 'path/to/module',
      resolve: {
        aliasFields: [],
      },
    },
  ]
}
[...]

参考文献:

mpgws1up

mpgws1up2#

您可以配置webpack使用别名而不是其默认算法来解析模块:

module.exports = {
  resolve: {
    alias: {
      "intl/locale-data/complete$": path.join(__dirname, "relative/path/to/node_modules/intl/locale-data/complete.js"),
    },
  },
};

相关问题