Настройка
Возможно, вы заметили, что конфигурации webpack не всегда похожи. Это потому, что файл конфигурации webpack — это файл JavaScript, который экспортирует конфигурацию webpack configuration. Эта конфигурация затем обрабатывается webpack в соответствии с ее определенными свойствами.
Поскольку это стандартный модуль Node.js CommonJS, вы можете сделать следующее:
- импортировать другие файлы через
require(...) - использовать утилиты из npm через
require(...) - использовать выражения управления потоком JavaScript, например, оператор
?: - использовать константы или переменные для часто используемых значений
- создавать и выполнять функции для генерации части конфигурации
Используйте эти возможности по мере необходимости.
Хотя они технически осуществимы, следующие практики следует избегать:
- доступ к аргументам командной строки, когда используется webpack CLI (вместо этого напишите собственный CLI или используйте
--env) - экспорт недетерминированных значений (вызов webpack дважды должен привести к тем же выходным файлам)
- создание длинных конфигураций (вместо этого разделите конфигурацию на несколько файлов)
Самое важное из этого документа заключается в том, что существует множество различных способов форматирования и стилизации вашей конфигурации webpack. Ключ — придерживаться чего-то согласованного, что вы и ваша команда сможете понять и поддерживать.
Примеры ниже описывают, как конфигурация webpack может быть выразительной и настраиваемой, потому что это код:
Простая конфигурация
webpack.config.js
var path = require('path');
module.exports = {
mode: 'development',
entry: './foo.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'foo.bundle.js'
}
}; См.: Раздел конфигурации для всех поддерживаемых параметров конфигурации
Несколько целей
Наряду с экспортом единственной конфигурации в виде объекта, функции или обещания, вы можете экспортировать несколько конфигураций.
См.: Экспорт нескольких конфигураций
Использование других языков конфигурации
webpack принимает файлы конфигурации, написанные на нескольких языках программирования и данных.
См.: Языки конфигурации
© JS Foundation and other contributors
Licensed under the Creative Commons Attribution License 4.0.
https://v4.webpack.js.org/concepts/configuration