簡體   English   中英

設置為生產模式時,Webpack Globalize失敗構建:未提供格式化程序或解析器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM