[英]Webpack Globalize fails build when set to production mode: No formatters or parsers provided
我正在研究React / Webpack / Globalize應用程序。 在開發模式中,事情是好的(盡管Globalize堅持編譯所有語言環境而不是我選擇的語言環境,但這是另一天的另一個問題)。
但是,當我設置production: true
在我的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 dev服務器重建時,我收到很多這些消息,表明我沒有使用的語言環境的重新編譯:
[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
鍵不是“可選的”,但實際上是必需的。 更重要的是,你需要通過調用Globalize.formatMessage("somekey")
(你的lang文件中存在Globalize.formatMessage("somekey")
(缺少更好的詞)消息格式化器。 當production
設置為true
時,所有這些都是必需的。
同樣,如果將production設置為true,則output
路徑必須與源樹中的現有路徑匹配。 例如,如果您的代碼構建到/assets
,則輸出路徑應為assets/i18n/[locale].[hash].js
。 否則,將不會在構建時創建i18n目錄。
所有這些都來自github repo中的討論:
https://github.com/rxaviers/globalize-webpack-plugin/issues/10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.