【发布时间】:2018-10-04 19:09:48
【问题描述】:
我有 40 多个 json 翻译文件,我想像这样动态要求:
require(`./assets/locales/${lang}.json`)
由于 webpack 在编译时无法确定路径,它会加载目录中的每个文件(如 here 解释的那样)。我不希望 webpack 将这些文件捆绑在 .js 输出中,所以我添加了一个 externals 配置,如下所示:
externals: [
/assets\/locales\/.*\.json/i,
/assets\/locales\//i
],
问题是 webpack 不会考虑 externals 的动态需求配置。它确实适用于非动态需求,例如:
require(`./assets/locales/en-us.json`)
require(`./assets/locales/pt-pt.json`)
但我不想在我的代码中添加这样的 40 多行...我希望将所有这些 .json 文件作为外部依赖项,并且能够动态地要求它们。
有没有办法实现我想要的?我查看了ContextReplacementPlugin,但在这种情况下它似乎对我没有帮助。如果我使用IgnorePlugin,我无法加载json文件。
谢谢!
【问题讨论】: