2016-10-18 10 views
1

私は奇妙なwebpackに問題が発生しています。 require stringに変数を使用すると、何もロードせずにエラーメッセージが表示されません。しかし、フルパス文字列を使用すると読み込みに成功します。あなたは何が起こっているのか知っていますか?ファイルパスが文字列変数concatを使用している場合、webpackの要求が失敗する

var _commonFolder = '../Presentation/Base/Default/js/source/_common/' 
require(_commonFolder + 'docReady.js'); 
// the above require will fail to load anything, but no error message 


require('../Presentation/Base/Default/js/source/_common/docReady.js'); 
// the above require successfully load the content 

答えて

2

あなたがしようとしているのは、動的なファイルが必要です。

dynamic requiresを説明しているウェブパックのドキュメントをお読みください。ここで

var _commonFolder = '../Presentation/Base/Default/js/source/_common/' 
require(_commonFolder + 'docReady.js'); 

表現_commonFolder + 'docReady.jsが含まれており、コンパイルとバンドルしながら、それはWebPACKのでは解決できないが必要として、docReady.jsがバンドルされません。

あなたの場合のように、式を取得する必要がある場合、webpackはバンドルされた出力ファイルにcontextを作成することがあります。あなたは完全な相対パス

を提供しているよう

一方
require('../Presentation/Base/Default/js/source/_common/docReady.js'); 

はWebPACKのでdocReady.jsをバンドルします

関連する問題