7

私はReact/Webpack/Globalizeアプリケーションで作業しています。 開発モードでは、ok-ishです(ただし、Globalizeは選​​択したロケールではなくすべてのロケールをコンパイルすることを主張しますが、別の問題です)。 npm run buildWebpack Globalizeは運用モードに設定されているとビルドに失敗します。フォーマッタまたはパーサーはありません

> 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 

を実行している場合しかし
、私は私のWebPACKの設定でproduction: trueを設定しています、私はグローバル化のWebPACKのプラグインがプリコンパイルを処理するために意図された印象の下にあった次のエラーを取得しています。なぜ私はこのエラーが表示されますか?私はproduction: falseがうまくコンパイルされるように設定しています。

私のプラグインの設定は次のとおりです。

[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] 
new GlobalizePlugin({ 
      production: true, 
      developmentLocale: "en", 
      supportedLocales: [ "en"], 
      output: "i18n/[locale].[hash].js" 
     }), 

ファイルの変更とWebPACKのdevのサーバーが再構築

は、私が使用していないロケールのrecomplicationを示すこれらのメッセージの多くを取得しています

私は何も試しても問題は解決していないようです。
ありがとう

+0

してください、あなたは私がすることによって、例えば(あなたが直面している問題を再現するために使用することができます減少した例とのリンクを提供することができhttp://gist.github.comを使って)? –

+0

申し訳ありませんが、私は今これを解決したように私は時間があるとは思わない(下記の私の答えを参照)。それを簡単に複製するには、GlobalizePlugin設定をwebpackの設定ファイルに追加し、メッセージキーを使わずにプロダクションをtrueに設定するだけです。このエラーで 'npm run build'が失敗するはずです。 – Harel

+1

回避策が見つかりましたが、正しくありません。 'messages'キーはオプションです(以下の答えとは異なります)。あなたや他の誰かがこれを調査することに興味があれば、私に知らせてください。私はあなたが得る失敗を再現できないので、残念ながら私はあなたのために何か提案することができません。ありがとう –

答えて

2

それはそのままで、messagesのキーは「オプション」ではなく、実際には必要です。それよりも、Globalize.formatMessage("somekey")(あなたのlangファイルにsomekeyが存在する)を呼び出すことによって、メッセージフォーマッタを「プライム」(より良い言葉の欠如のために)する必要があります。 productiontrueに設定されている場合は、このすべてが必要です。

また、productionをtrueに設定した場合、outputパスはソースツリー内の既存のパスと一致する必要があります。たとえば、コードが/assetsの場合、出力パスはassets/i18n/[locale].[hash].jsになります。そうしないと、i18nディレクトリはビルド時に作成されません。

このすべては、GitHubのレポでの議論から導かれる:

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

関連する問題