私はSystemJSを使用しているプロジェクトを持っていますが、これは変更できません。また、WebPackを使用するStoryBookも使用しています。これも変更できません。これまでのところ、2人はお互いに非常によく遊びます。しかし、私はプレーンテキストとしてファイルをロードし、それらを解析するモジュールを持っている:SystemJSスタイルのインポート用カスタムWebpackリゾルバ! with-loader
import stuff from './some-module!systemjs-plugin-text';
parseStuff(stuff);
私のプロジェクトはWebPACKのを使用していた場合は、上記のコードは次のようになります。SystemJS "であるので
import stuff from 'raw-loader!./some-module';
parseStuff(stuff);
プライマリ "モジュールローダーであり、私はすべてのアプリケーションコードをSystemJS中心にしておきたいと思います。私はWebpackのためのカスタムリゾルバを書いて、SystemJSスタイルのインポートを行い、それらを "フリップ"するようにしたいと思います。コードは次のようになります。
const moduleMap = {
'systemjs-plugin-text': 'raw-loader'
};
const formatModuleIdForWebPack (systemjsId) {
const webpackId = systemjsId.split('!').reverse();
webpackId[0] = moduleMap[ webpackId[0] ] || webpackId[0];
return webpackId.join('!');
}
formatModuleIdForWebPack('./some-module!systemjs-plugin-text');
//-> 'raw-loader!./some-module'
私は、カスタムリゾルバ(hereとhere)を作成するためのいくつかの例を踏襲しているが、ペイロードのどれも私がリクエストオブジェクトを再構築するために必要なすべてのデータが含まれていません。 WebPackにフックする方法はありますか?私の目標を達成するために、モジュールの構文解析の初期段階で、非常に早い段階でを使用しますか?