2016-06-28 4 views
0

私のWebPACKの設定で項目配列を持っている:私のコード(node_modules/my-module/my-file.js)の内部Webpack:クエリ文字列を知らなくても同じアセットを読み込む方法は?

entry: { 
    'main': [ 
     'webpack-hot-middleware/client?path=some-query' 
     'my-module/my-file', 
    ] 

私はその最初のサードパーティ製のファイルを必要とするようにしよう。私は、同じクエリ文字列でそれを必要としないので

var client = require('webpack-hot-middleware/client'); 

は、 WebPACKのは、個別の資産/モジュールとして扱い、インライン出力バンドル内webpack-hot-middleware/client二回。つまり、元のインスタンスにアクセスしたいときに、コードの新しいインスタンスを処理しています。私は第三者コードにアクセスすることができないので、私は自分のライブラリでそれを行う必要があります。

現在、私が持っている唯一の解決策は、クエリ文字列を複製することです。その後、

entry: { 
    'main': [ 
     'webpack-hot-middleware/client?path=some-query' 
     'my-module/my-file?path=some-query', 
    ] 

、すべてのWebPACKファイルにさらさ__resourceQueryを使用して、それを必要とする:

var client = require('webpack-hot-middleware/client' + __resourceQuery); 

これは、複製するために私を必要とし私のモジュールがquerystring paramsを使用しないため(特に、ここでは許可されていない独自のものを使用したい場合があるため)、望ましくないものです。

答えて

0

あなたはWebPACKのリゾルバの別名で、この作業を行うことができる必要があります:ユーザーを意味https://webpack.github.io/docs/configuration.html#resolve-alias

+0

Hmm..wouldn'tは別名セクションに自分のWebPACKホットミドルウェアのクエリ文字列を移動する必要があるでしょうか?私はプラグインを使用するようにミドルウェアを構成する方法と場所をユーザーが変更しないようにしたいと考えています –

+0

ああ、これはプラグインのためのものではないと思いました。おそらく、ホットミドルウェアクライアントに何かを加えて、クライアント側のプラグインでシングルトンを利用できるようにすることもできます。 – Glenjamin

+0

私はプラグインで入力オプションを調べることでそれを行うことができますが、その後私のファイルを挿入する方法はわかりませんhttp://stackoverflow.com/questions/38111292/how-to-append-a-file-to -a-bundle-in-webpack-or-inject-required-code –

関連する問題