设置为生产模式时,Webpack Globalize 构建失败:未提供格式化程序或解析器

Webpack Globalize fails build when set to production mode: No formatters or parsers provided

我正在开发 React/Webpack/Globalize 应用程序。 在开发模式下一切正常(尽管 Globalize 坚持编译所有语言环境而不是我选择的语言环境,但这是另一天的另一个问题)。
但是,当我在我的 webpack 配置中设置 production: true 时,当 运行 npm run build

时出现以下错误
> webpack --config webpack.prod.config.js

/opt/app/ui/node_modules/globalize-webpack-plugin/GlobalizeCompilerHelper.js:72
      throw e;
            ^
Error: No formatters or parsers has been provided

我的印象是 globalize webpack 插件是用来处理预编译的。知道为什么我会看到这个错误吗?当我设置 production: false 时编译正常。

我的插件设置是:

new GlobalizePlugin({
            production: true,
            developmentLocale: "en",
            supportedLocales: [ "en"],
            output: "i18n/[locale].[hash].js" 
        }),

当文件更改和 webpack 开发服务器重建时,我收到很多这样的消息,表明我未使用的语言环境重新复杂化:

[461] ./~/cldr-data/main/es-PY/dateFields.json 15 kB {0} [optional]
[462] ./~/cldr-data/main/es-SV/dateFields.json 15 kB {0} [optional]
[463] ./~/cldr-data/main/es-US/dateFields.json 15 kB {0} [optional]
[464] ./~/cldr-data/main/es-UY/dateFields.json 15 kB {0} [optional]
[465] ./~/cldr-data/main/es-VE/dateFields.json 15 kB {0} [optional]
[466] ./~/cldr-data/main/es/dateFields.json 15 kB {0} [optional]

我尝试的任何方法似乎都解决了这个问题。
谢谢

就目前而言,messages 键不是 'optional',但实际上是必需的。更重要的是,在某个地方你需要通过调用 Globalize.formatMessage("somekey")(你的 lang 文件中存在一些键)来 'prime'(没有更好的词)消息格式化程序。当 production 设置为 true 时,所有这些都是必需的。

另外,如果您确实将 production 设置为 true,output 路径必须与源代码树中的现有路径相匹配。例如,如果您的代码构建到 /assets,输出路径应该是 assets/i18n/[locale].[hash].js。否则 i18n 目录将不会在构建时创建。

所有这些都来自 github 存储库中的讨论:

https://github.com/rxaviers/globalize-webpack-plugin/issues/10