2017-11-07 16 views
0

Webpackを使用して、いくつかの異なるモジュールを連結したり、uglifyしたりしています。これらのモジュールはすべてmain.jsファイルにインポートしています。なぜWebpackはこのコード行に括弧を追加していますか?

モジュールの1つは、次のコード行を含む:

jQuery(document).ready(function(){ 
    new Favorites.Factory; 
}); 

しかしmain.jsのコードのこれらのラインになる、WebPACKのが生成したファイル:

jQuery(document).ready(function(){ 
    new Favorites.Factory(); // Note the extra brackets 
}); 

は、ブラケットに注意工場の後に追加されました。これにより、次のエラーが発生します。

Uncaught TypeError: Favorites.Factory is not a constructor 

なぜこれらの括弧を追加するのですか?どのように防止できますか?

フルモジュールhere(Wordpressプラグイン)をご覧ください。

+0

ファクトリが 'new'キーワードで呼び出された場合、私はそれが見えません。問題は括弧ではなく、静的な工場で新しいものを使うことだと私には思われます... –

答えて

0

技術的に私は非常に簡単にあなたの質問に答えることができます。 WebPACKのは、このためreason

のブラケットを追加しますので、ないWebPACKのは、このエラーの原因です。

main.jsで何が起こるか、あなたがモジュールを "include"する方法、あなたのwebpack設定などは何ですか?)しかし、私はあなたのコードを実行しようとしました、そしていくつかの仮定をしました:あなたの特別なケースではerrorが得られます。Favorites.Factoryundefinedであることを意味します。おそらくfavorites_dataがinitモジュールで定義されていない可能性があります。

関連する問題