Полный цикл в digital

Точки входа и выхода в Webpack

Точка входа регулируется настройкой entry:

webpack.config.jsexport default {
  entry: './src/index.js',
};

Точка выхода регулируется настройкой output, если точка выхода не указана, по умолчанию Webpack соберет все в один файл main.js, расположенный в папке dist. Эта настройка представляет собой объект, где можно указать имя файла сборки с помощью ключа filename:

webpack.config.jsexport default {
  entry: './src/index.js',
  output: {
    filename: 'build.js',
  }
};

В результате сборка по-прежнему будет размещаться в папке dist, но уже в указанном нами файле.

Несколько точек входа

Можно сделать несколько точек входа. Для этого настройку entry следует сделать массивом:

webpack.config.jsexport default {
  entry: [
    './src/test1.js',
    './src/test2.js'
  ],
};

Все точки входа будут собраны в один общий файл сборки. При необходимости можно задать имя этому файлу:

webpack.config.jsexport default {
  entry: [
    './src/test1.js',
    './src/test2.js'
  ],
  output: {
    filename: 'build.js',
  }
};

Имена точек входа

Точкам входа можно давать имена, для этого настройку entry сделать в виде объекта. Ключи объекта и будут именами точек входа. Именованные точки входа будут собираться в отдельные файлы сборки. В результате после сборки в папке dist у нас появятся два файла: file1.js и file2.js:

webpack.config.jsexport default {
  entry: {
    file1: './src/test1.js',
    file2: './src/test2.js'
  },
};

Именованные точки входа могут содержать массивы точек входа. Массив точек входа будет слит в один файл сборки. В следующем примере получится два файла: file1.js и file2.js:

webpack.config.jsexport default {
  entry: {
    file1: [
      './src/test1.js',
      './src/test2.js',
    ],
    file2: './src/test3.js'
  },
};

Имена файлов сборки

С помощью команды name можно указать место, куда вставится имя точки входа. Такая возможность позволяет конфигурировать имена файлов сборки. Для примера давайте сделаем так, чтобы файлы сборки имели имена f1.build.js и f2.build.js:

webpack.config.jsexport default {
  entry: {
    f1: './src/test1.js',
    f2: './src/test2.js'
  },
  output: {
    filename: '[name].build.js',
  }
};

Абсолютный путь к папке сборки

Можно задавать абсолютный путь к папке сборки. Как правило это делается для того, чтобы обеспечить правильную работу продвинутым возможностям Webpack.

Для начала импортируем модуль path для формирования путей:

webpack.config.jsimport path from 'path';

Теперь укажем путь к папке сборке с помощью настройки path:

webpack.config.jsexport default {
  entry: [
    './src/test1.js',
    './src/test2.js'
  ],
  output: {
    filename: 'build.js',
    path: path.resolve('dist'),
  }
};

Контекст точек входа

Как правило файлы проекта лежат в какой-то папке. В нашем случае это src, в результате во всех путях нам приходится прописывать эту папку:

webpack.config.jsexport default {
  entry: [
    './src/test1.js',
    './src/test2.js'
  ],
};

С помощью команды context можно указать путь к общей папке проекта. В этом случае пути точек входа упростятся:

webpack.config.jsexport default {
  context: path.resolve('src'),
  entry: [
    './test1.js',
    './test2.js'
  ],
};
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг