2016-07-09 9 views
0

のグローバルモジュールのメソッドをオーバーライドする(その使用どこか、少なくともを?)このライブラリからのメソッドをオーバーライドするために、例えばエントリポイントで:私は私のWebPACKの設定では、このような何か持っているのWebPACK

THREE.Something = mySomething; 

私はこれがどのように行われるか、succedingありませんよ?

また、私は何かを試してみました。

require(expose?THREE!./myCustomThree.js); 

しかし、それはどちらかというと、私は必要な呼び出しを行ったスコープでしかありません。私はメソッドをオーバーライドすることはできましたが、グローバルにすることはできません。

答えて

2

ProvidePluginは、定義されたモジュールのインスタンスで提供される文字列をグローバルに置き換えます。

new webpack.ProvidePlugin({ 
     '$': 'jquery', 
     '$.each': 'moment' 
    }) 

上記のプラグインは、今のjqueryのインスタンスを使用してコード内の$のすべてのインスタンスを置き換えます。 2番目のケースでは、$.momentをmomentのインスタンスに置き換えます。

あなたはProvidePluginがあなたが提供する文字列にモジュールの名前を変更するだけであることを理解しておかなければなりません。

+0

私は ''THREE': '。/ myCustomTHREE.js''のようなものを試しましたが、うまくいきませんでした。私は 'jquery'や 'moment'がここで参照しているものが何であるかはっきりしていません。/ node_modulesのパスなのでしょうか? また、私はexpose-loaderを試しましたが、どちらもうまくいきませんでした。私は 'require(expose?...)'を行ったライブラリしか持っていませんでした。 – pailhead

+0

これは '' $ ' ''require(' jquery ')?' – pailhead

+0

まさに! 'THREE.Something'は、そこに含めるモジュールのプレースホルダーとして扱われます。 –

関連する問題