Как настроить таргетинг различных приложений из одного и того же файла конфигурации веб-пакета на основе аргументов командной строки на команду запуска npm
У меня есть 3 различных приложения activjs, имеющие схожие зависимости. Могу ли я использовать один и тот же файл webpack.config.js для запуска этих разных приложений. Ниже приведена структура каталогов, которую я хочу
-root
--App1
---source
---index.html
---style.css
--App2
--App3
--package.json
--node_modules
--webpack.config.js
в package.json
У меня есть следующий стартовый скрипт
"scripts":{
"start":"node_modules/.bin/webpack-dev-server --progress --port 3000"
}
Я пытался с помощью аргумента командной строки при выдаче npm start
команда:
npm start App1
А потом с помощью process.argv
в webpack.config.js
установить точку входа и выходной путь.
var path= require('path');
var app= path.resolve(__diname,process.argv[process.argv.length-1]);
module.exports = {
entry: path.resolve(app, 'source/app.js'),
output: {
path: app,
filename: "bundle.js"
},
.......
.......
Webpack загружает и компилирует файлы в App#/source
папки, но не подают содержимое из App#
каталог. В чем здесь моя ошибка и есть ли другая альтернатива, чтобы получить эту работу.
1 ответ
Вы можете создать другой файл конфигурации, скажем, webpack.config.app1.js для сборки App1, вот так:
webpack && webpack --config webpack.config.app1.js
и так далее.
Другой способ - сделать конфигурацию вашего веб-пакета из объекта в массив, содержащий эти три объекта конфигурации.