如何为模块子目录编写 webpack external

How to write webpack external for module subdirectory

我正在尝试将模块子目录中的所有文件添加到 Webpack 外部。 特别是 react-intl 个语言环境文件的数据。

我正在尝试在 webpack 配置中使用正则表达式指定语言环境文件的路径,但它不起作用:

module.exports = {
  //...
  externals: [
   /react-intl\/locale-data\/.*/,
   // ...
  ]
};

我正在动态加载这些文件,有问题吗?

const localeData = require(`react-intl/locale-data/${language.getLocale()}`);

每个依赖项都已正确外部化,除了那些语言环境文件: Webpack bundle

好像是

const localeData = require(`react-intl/locale-data/en`);

如果您指定的不是动态方式,那么它会按您的预期工作。

我一直在使用不同的方法来避免这个问题,如下所示并动态加载。

// Choose the locales that we want to include for react-intl
new webpack.ContextReplacementPlugin(/react-intl[\/\]locale-data$/, /en|ja|id|es/),