Используйте airpack для совместного использования конфигурации webpack в нескольких проектах

Webpack

airpackэто оболочка для webpack-cli. Разработан, чтобы позволить вам более элегантно использовать webpack.

airpack добавляет функциональные исправления в webpack-cli, когда узел загружает модуль webpack-cli. Этот патч позволяет webpack-cli автоматически считывать конфигурацию webpack из нескольких мест (зависимости проекта, каталоги проекта, аргументы командной строки) в определенном порядке приоритета, а затем использоватьболее подходящий способОбъедините эти конфигурации веб-пакетов.

При использовании airpack вашpackage.jsonЭто выглядит так:

{
  "scripts": {
    "dev": "NODE_ENV=development airpack --server",
    "build": "NODE_ENV=production airpack"
  },
  "devDependencies": {
    "@arzyu/webpack-config-web": "^0.1.3",
    "airpack": "^1.0.1",
    "webpack-cli": "^4.7.2",
    "webpack-dev-server": "^3.11.2"
  },
}
  • npm run dev, который запускает локальную службу разработки (вызовwebpack serve)
  • npm run build, запустите пакет (вызовwebpack)

Использование конфигурации веб-пакета таким образом имеет много преимуществ:

  • Каталог проекта будет чище, в нем будет только логика, связанная с проектом, без.babelrc.*,postcss.config.js,.eslintrc.*, ..., и даже не нужноwebpack.config.*. Шаблоны элементов были бы более удобными. Вы можете обратиться к примеру проекта:arzyu/react-webpack-playground.

  • бесполезныйdevDependencies, длина списка зависимостей сокращена с руки до пальца, а все зависимости, связанные с конфигурацией вебпака, вынесены в отдельныйwebpack-config-*в сумке.

  • использовать отдельныйwebpack-config-*Пакетами легче управлять, управление версиями и итерация удобнее, а также удобно делиться. Пакет целесообразнее публиковать от имени себя или своей организации.Вы можете обратиться к примеру конфигурации:@arzyu/webpack-config-web. Сложные конфигурации также можно разделить на несколько пакетов, и airpack поможет вам их объединить.

Более подробные инструкции можно найти в репозитории проекта:GitHub.com/Ah Keen/Любовь Боится…