我想生成我的条目文件的多个版本。即webpack.config.js
包含:
entry: {
main: path.resolve('./src/main.js'),
main2: path.resolve('./src/main.js'),
},
在main.js
内,我可以这样做:
if (entryName === 'main') {
...
} else if (entryName === 'main2') {
...
}
使用Webpack可以吗?
答案 0 :(得分:1)
可以使用不同的运行脚本来设置环境变量(使用cross-env
),该环境变量是在使用DefinePlugin进行编译时插入的。
运行脚本:
{
"scripts": {
"build:main": "cross-env ENTRY_NAME=main webpack --config webpack.config.js",
"build:main2": "cross-env ENTRY_NAME=main2 webpack --config webpack.config.js",
"build": "npm run build:main && npm run build:main2"
}
}
Webpack:
{
entry: {
main: path.resolve('./src/main.js')
},
plugins: [
new DefinePlugin({
ENTRY_NAME: JSON.stringify(process.env.ENTRY_NAME)
})
]
}
应用程序:
if (ENTRY_NAME === 'main') {
//...
} else if (ENTRY_NAME === 'main2') {
//...
}