Начало работы с вебпаком

Определение

Webpack управляет всеми взаимозависимыми модулями и файлами в вашем проекте. Он объединяет файлы javascript и css, объединяя зависимые блоки кода в один, чтобы вам не нужно было управлять ими самостоятельно.

По своей сути webpack — это сборщик статических модулей для современных приложений JavaScript. Когда webpack обрабатывает ваше приложение, он строит граф зависимостей, который сопоставляет все модули, необходимые вашему проекту, и генерирует один или несколько пакетов.

Использование веб-пакета в вашем проекте

  1. Установите Node.js

2. npm init -y в каталог вашего проекта

3. npm install webpack -D

4. Добавьте скрипт в следующем формате в файл package.json.

webpack <entry-point> <destination-file>

Кроме того, вы можете создать файл webpack.config.js в своем проекте, чтобы соответствующим образом настроить webpack и процесс сборки.

Пример файла конфигурации:

const path = require('path');

module.exports = {
  entry: './path/to/my/entry/file.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'my-first-webpack.bundle.js'
  }
};

Начиная с версии 4.0.0, webpack не требует файла конфигурации для сборки вашего проекта, тем не менее, он невероятно настраивается, чтобы лучше соответствовать вашим потребностям.

Начало работы с основными понятиями Webpack:

Вход

Точка входа указывает, какой модуль webpack должен использовать, чтобы начать построение своего внутреннего графа зависимостей. webpack выяснит, от каких других модулей и библиотек зависит эта точка входа (напрямую или косвенно).

По умолчанию его значение равно ./src/index.js, но вы можете указать другую (или несколько точек входа), настроив свойство входа в конфигурации веб-пакета.

Вывод

Свойство output сообщает веб-пакету, куда создавать связки, которые он создает, и как называть эти файлы. По умолчанию это ./dist/main.js для основного выходного файла и папка ./dist для любого другого сгенерированного файла.

Вы можете настроить эту часть процесса, указав поле output в своей конфигурации.

Погрузчики

По умолчанию webpack понимает только файлы JavaScript и JSON. Загрузчики позволяют веб-пакету обрабатывать другие типы файлов и преобразовывать их в действительные модули, которые могут использоваться вашим приложением и добавляться в граф зависимостей.

const path = require('path');

module.exports = {
  output: {
    filename: 'my-first-webpack.bundle.js'
  },
  module: {
    rules: [
      { test: /\.txt$/, use: 'raw-loader' }
    ]
  }
};

Плагины

В то время как загрузчики используются для преобразования определенных типов модулей, плагины можно использовать для выполнения более широкого круга задач, таких как оптимизация пакетов, управление активами и внедрение переменных среды.

Режим

Установив для параметра mode значение development, production или none, вы можете включить встроенные оптимизации веб-пакета, соответствующие каждой среде. Значение по умолчанию — production.

Совместимость с браузером

webpack поддерживает все браузеры, совместимые с ES5 (IE8 и ниже не поддерживаются). webpack требуется Promise для import() и require.ensure(). Если вы хотите поддерживать старые браузеры, вам нужно будет загрузить полифилл перед использованием этих выражений.