47

翻訳サービス用の Webpack プラグインの作成に問題があります。

目標は次のとおりです。

  1. コンパイル中に必要なすべてのモジュールの名前 (およびソース コード) を取得します。含まれているソース コードをスキャンして特別なt()機能を使用できるようにする必要がありますが、バンドルに含まれるモジュールのみをスキャンしたいと考えています (ビルド構成によっては、すべてのプロジェクト モジュールのサブセットになる可能性があります)。
  2. 収集したモジュールに基づいて、追加のモジュール (翻訳付き) をその場で作成し、それらをバンドルに追加したいと考えています。これらのモジュールは、独自の依存関係をインポートできる必要があります。

追加の要件は、Webpack のコード分割機能が、オンザフライで作成されたモジュールで動作することです (それらを個別のファイルに抽出したい - などbundle.[lang].js)。また、これはこの質問の範囲外かもしれませんが、これらのチャンクを翻訳付きでオプションにする必要があります (したがって、すべての言語をロードする必要はなく、1 つだけをロードする必要があります)。

詳細については、https://github.com/ckeditor/ckeditor5/issues/387を参照してください。

複数のソリューションを試してきましたが、Webpack 2 のドキュメントはあまり役に立ちません。モジュール解決フックをリッスンすることですべてのモジュールを取得できますbefore-resolve(addEntryいつ使用できますか?)。

Webpack プラグインと Webpack ローダーを接続することも考えていましたが (必要な機能はWebpack の style-loaderにかなり似ているため)、プラグイン レベルからは、ローダー自体ではなく、ローダーへのパスのみを追加できるので、できます。構成オブジェクトをパラメーターとして渡す – 私は間違っていますか?

PS。私は Webpack 2 を使用しています。要件が奇妙に思われる場合は、 https ://github.com/ckeditor/ckeditor5/issues/387を参照してください:)。

4

1 に答える 1