2016-08-26 10 views
0

環境変数に応じて代替の.jsxファイルを提供する必要があります。デフォルトのインポート(1)で環境変数に応じて、特定のファイルに対してリゾルバのオーバーライドを指定してください。

import icon from "icons/appIcon"

その後、

(1) src/icons/appIcon.jsx 
(2) vendors/foo/src/icons/appIcon.jsx 

必要があります。

は、このフォルダ構造を考えます。

しかし、APP_VENDOR環境変数がfooに設定されている場合は、(2)を解決する必要があります。

APP_VENDORbarに設定されている場合は、vendors/bar/src/icons/appIcon.jsxが存在しないため、file(1)を解決する必要があります。

これはwebpackで設定できますか?

答えて

0

あなたはiconsに対するresolve.aliasを設定し、その後APP_VENDORに基づいてsrc/iconsまたはvendors/foo/src/iconsのいずれかにそのポイントを作ることができます。

あなたはこのようなものになってしまいます:

resolve: { 
    alias: { 
     icons: process.env.APP_VENDOR === 'foo' ? 
      path.join(__dirname, 'vendors/foo/src/icons') : 
      path.join(__dirname, 'src/icons') 
    } 
} 
関連する問題