編集
WebPACKの2からは、System.import('./relative/path_to/messages.' + locale + '.xlf')
を使用することができますし、WebPACKのは、ファイルを取得し、一致する可能性は明白ではないファイルのスキャンを回避します。
オリジナル
ありそれを解決する方法はいくつか(たぶん)ですが、これが私のために最善を働いた:私のi18n-providers.jsで
:
function getTranslationFilesWithWebpack(locale: string) {
const translationFile = `./assets/locale/messages.${locale}.xlf`;
return require('' + translationFile)()
}
この実行時にファイルが必要であることをwebpackに知らせます。次に、webpackにファイルの処理方法を知らせる必要があります。 webpack.config.jsで
:
module: {
rules: [
/*
* html, typescript and style rules
*/
{
test: /\.xlf/,
loader: 'promise-loader?es6-promise!raw'
},
{
test: /\.json/,
loader: 'ignore-loader'
}
]
}
生ローダーを使用するには、新しいチャンクに私のXLFファイルを置くためにWebPACKのを教えてくれますし、返すことによって、需要によってそれらをロードするために約束ローダにパイプrequire('filename')()
を呼び出すときにファイルの内容に解決される約束。
注:
- あなたはライブラリが使用することを約束約束-ローダーを伝える必要があります。
require('file')
で使用するローダーをwebpackに指示していないため、すべてのファイルをスキャンしようとしますが、.jsonファイルをロードできないという不満があります。そのため、jsonのルールを無視するローダーで設定する必要がありました。
私はそれが役に立ちそうです。
あなたは、角度-cliを使用していますか? – Maxime
いいえ、このプロジェクトではなく、私はそれを開始していません。 angle-cliで始まったのはpackage.jsonで見られるからです。 – Luftzig