В последнее время я экспериментировал с webpack, но наткнулся на проблему.
Я объявил несколько точек входа, таких как:
entry: {
bundle1 : './src/file1.js',
bundle2 : './src/file2.js',
bundle3 : './src/file3.js',
}
И я объявил динамический вывод длякаждый входной файл, например:
output: {
filename: '[name]/[name].js',
path: path.resolve(__dirname, 'dist')
}
Это было прекрасно, пока я не решил выполнить такие задачи, как gulp и связывание определенных файлов.Мне было интересно, смогу ли я передать переменные в точку входа и указать в package.json конкретный скрипт, который выполняет только конкретную задачу.
Например.файл package.json:
"scripts": {
"file1": "webpack --mode production --env=production --entrypoint=file1"
}
Обратите внимание на --entrypoint.
У кого-нибудь есть решение для этого?(Желательно без использования gulp)
Заранее спасибо!
Редактировать: Просто заметьте, я безуспешно попробовал следующее
Я начал свою конфигурацию webpack следующим образом:
module.exports = (entrypoint) => {
И затем я объявил некоторые константы, например,
const file1 = JSON.parse(entrypoint === "file1");
const file2 = JSON.parse(entrypoint === "file2");
const file3 = JSON.parse(entrypoint === "file3");
Затем я сделал оператор s switch для каждого случая
switch(entrypoint) {
case file1:
return {
"file1": "./src/file1.js"
}
case file2:
return {
"file2" :'./src/file2.js'
}
case file3:
return {
"file3" :'./src/file3.js'
}
}
Наконец, я передаю вывод в запись