2016-08-10 3 views
8

を持っている:Webpack:現在のエントリ名をjsに渡しますか?たとえば、私たちは複数のエントリを

entry: { 
    main: "./app/entry.js", 
    view: "./app/entry.js", 
}, 

entry.jsに現在の名前(メインまたはビュー)を渡す方法?

理想的なソリューションは、このようなものになります。他の設定オプションのような

new webpack.DefinePlugin({ 
    '_ENTRY_': '[name]' 
}), 

ことができますが、もちろんDefinePluginのあなたは、コードを実行している場合...これをどのように処理するかを

+0

は、使用するファイルの出力ですか? –

+0

私がしたいことはentry.js内にあります。 if(_ENTRY_ == 'main'){do something;} else {do do other thing;} – itspers

+0

私の答えが更新されました。 –

答えて

0

を知りませんNode.js内には__filename__dirnameを使用できます。

Webpackはnon-Node.js環境でそれらをモックできます。
あなたが__filename__dirnameなど通常のNode.jsのenviromentsで行わグローバルを使用することができます。この場合、Webpack Node configuration

node: { 
    __filename: true, 
    __dirname: true 
} 

を参照してください。

if(__filename.indexOf('index.js') != -1) { 
    // Code here 
} 

ノード.__ファイル名

デフォルト:"モック"

オプション:

  • true:コンテキストオプションに関連する入力ファイルのファイル名。

  • false:通常のNode.js __filenameの動作。 Node.js環境で実行される出力ファイルのファイル名。

  • "mock":固定値 "index.js"。

関連する問題