Выполните задачи webpack для определенных файлов, используя переменные env - PullRequest
0 голосов
/ 11 октября 2018

В последнее время я экспериментировал с 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'
  }

}

Наконец, я передаю вывод в запись

...