Это возможно при использовании различных сценариев запуска, которые задают переменную среды (используя 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') {
//...
}