我需要提供一些替代的.jsx
文件,具体取决于环境变量。
鉴于此文件夹结构:
(1) src/icons/appIcon.jsx
(2) vendors/foo/src/icons/appIcon.jsx
然后import icon from "icons/appIcon"
默认情况下应导入(1)。
但是当APP_VENDOR
环境变量设置为foo
时,它应该解析(2)。
如果APP_VENDOR
设置为bar
,则应解析文件(1),因为没有`vendors / bar / src / icons / appIcon.jsx。
是否可以使用webpack进行配置?
答案 0 :(得分:0)
您可以针对icons
设置resolve.alias,然后根据src/icons
将该点设为vendors/foo/src/icons
或APP_VENDOR
。
你最终会得到这样的东西:
resolve: {
alias: {
icons: process.env.APP_VENDOR === 'foo' ?
path.join(__dirname, 'vendors/foo/src/icons') :
path.join(__dirname, 'src/icons')
}
}