【发布时间】:2015-12-18 17:07:43
【问题描述】:
我正在开发一个 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]
我尝试的任何方法似乎都无法解决这个问题。
谢谢
【问题讨论】:
-
拜托,您能否提供一个包含简化示例的链接,我可以用来重现您面临的问题(例如,通过使用gist.github.com)?
-
对不起,我怀疑我现在已经解决了这个问题(请参阅下面的答案)。复制它的快速方法是将 GlobalizePlugin 配置添加到 webpack 的配置文件中,没有 messages 键,并将生产设置为 true。那么
npm run build应该会因为这个错误而失败。 -
很高兴您找到了解决方法,但它不正确。
messages键是可选的(与您在下面的答案不同)。如果您或其他人有兴趣对此进行调查,请告诉我。我无法重现您遇到的失败,所以很遗憾我无法为您提供任何建议。谢谢 -
更新。当源代码中没有使用 Globalize 函数时会发生错误。这应该由github.com/rxaviers/globalize-webpack-plugin/issues/10 修复。感谢您提出问题。
标签: node.js npm webpack javascript-globalize jquery-globalize