2016-10-16 43 views
2

Webpackローダーを作成していて、ローダーを依存関係としてnpmでインストールした後でWebpackに "認識"させる方法を理解しようとしています。私のローダーはturbine-loaderと呼ばれ、npmのスコープ@reactorの範囲内にあるので、パッケージはnode_modules/@reactor/turbine-loaderにあります。Webpackでローダーを解決するにはどうすればいいですか

私はモジュールからrequire('turbine-loader!../myFile');を行い、その後のWebPACK実行すると、私が取得:

Module not found: Error: Cannot resolve module 'turbine-loader' in ... 

上記に加えて、私は私のWebPACKの設定でこれを入れて、場合:

resolveLoader: { 
    alias: { 
    'turbine-loader': require.resolve('@reactor/turbine-loader') 
    } 
} 

それが始まります仕事をすることができますが、私はローダーの消費者にそれをする必要がなければ強制したくありません。誰かが私を正しい方向に向けることができますか?たぶん、Webpack docsを私のために普通の英語に翻訳するのでしょうか?ありがとう!

答えて

1

ウェブパックはローダーを名前でrequireにちょうどしようとします。したがって、require('turbine-loader!../myFile');を試してみると、それは定義されていないrequire('turbine-loader')になります。

代わりに、このrequireステートメントにスコープ名を追加する必要があります。 require('@reactor/turbine-loader!../myFile');

はところで、私にとってそれはかなり醜いと私は理にかなってalias :)

+0

ああ、とあなたのオプションを好むだろう。ありがとうございました。 – Aaronius

関連する問題