2017-02-20 10 views
0

webpack 2で作業していますが、別のNODE_ENVに依存するスタイルファイルを含める必要があります。webpack2動的スタイルファイルが必要です

私はこのようなものでした:

const stylesEntryName = process.env.SECOND_CLIENT ? "main_for_second_client" : "main"; 
const entryUrl = `assets/styles/${stylesEntryName}.styl`; 


console.log("stylesEntryName ====>>> ", stylesEntryName, entryUrl); 


require(entryUrl); 

をしかし、それは何らかの形で機能していません。 重要な依存関係:依存関係の要求を表現

は、コンソールが表示されます:stylesEntryName ==== >>>主な資産/スタイル/ main.styl

をたぶん私はエラーを持っています私は何か間違っている? (直接URLの場合)

require('assets/styles/main.styl'); 

コードが正常に動作します。

ありがとうございました。

答えて

0

webpackは、コードが実行されるまで(つまりrequireが静的に解析可能でない場合)、entryUrl変数の値が不明であるため、require(entryUrl)という警告を出力しています。 https://webpack.github.io/docs/context.html#critical-dependencies

この問題を解決するには、dynamic requireを削除し、代わりにif-elseステートメントを使用して、可能な選択肢から静的requireステートメントを選択します。問題のコードは次のとおりです。

if (process.env.SECOND_CLIENT === 'main_for_second_client') { 
    require('assets/styles/main_for_second_client.styl') 
} else { 
    require('assets/styles/main.styl') 
} 
関連する問題