Ответ 1
Вы можете передать параметр mode
в конфигурацию webpack или команду cli.
Config: mode: 'development'
или mode: 'production'
CLI: разработка webpack --mode development
или webpack --mode production
Я следую учебнику точно так, как указано здесь. Но я поражен тем, что документы выглядят устаревшими. например
npx webpack src/index.js dist/bundle.js
не работает:
CLI переместился в отдельный пакет: webpack-cli. Пожалуйста, установите "webpack-cli" в дополнение к самому webpack для использования CLI. → При использовании npm: npm install webpack-cli -D → При использовании пряжи: пряжа добавить webpack-cli -D
Если я установлю webpack-cli и повторю попытку, я вижу эту ошибку:
Hash: af9bc06fd641eb0ffd1e Версия: webpack 4.0.0 Время: 3865ms Построено по: 2018-2-26 05:10:45 1 объект Entrypoint main = main.js 1 (webpack)/buildin/module.js 519 bytes {0} [встроенный ] 2 (webpack)/buildin/global.js 509 bytes {0} [built] [3]./src/index.js 212 байтов {0} [built] [4] multi./src/index.js dist/bundle.js 40 байт {0} [встроенный] + 1 скрытый модуль
ПРЕДУПРЕЖДЕНИЕ в конфигурации Опция "режим" не установлена. Установите параметр "mode" в "development" или "production", чтобы включить настройки по умолчанию для этой среды.
ERROR в multi./src/index.js dist/bundle.js Модуль не найден: ошибка: не удается разрешить 'dist/bundle.js' в '/var/app/webpack_demo' @multi./src/index.js DIST/bundle.js
Надеюсь, я не делаю что-то безумное, учитывая популярность webpack, документация должна отражать фактическое поведение. Дайте мне знать, если я что-то делаю неправильно.
Подробное описание обновления до webpack 4, что может быть полезно
Вы можете передать параметр mode
в конфигурацию webpack или команду cli.
Config: mode: 'development'
или mode: 'production'
CLI: разработка webpack --mode development
или webpack --mode production
Команда Webpack работает над обновлением документов пакета как можно скорее. Новые руководства и документы доступны на официальном сайте webpack.js.org.
Тем временем вы также можете читать связанные сообщения на носителе:
Проверьте GitHub этот проект Webpack-Demo, предназначенный для изучения Webpack 4. Предыдущие и другие ссылки на полезные ресурсы, используемые в конфигурациях webpack, включены в проект Readme
. Он имеет две сборки с нулевой конфигурацией (с использованием нового режима mode
webpack, который включает в себя набор значений по умолчанию), а еще два - с использованием настраиваемых конфигураций.
Начиная с webpack-4, CLI перемещается в webpack-cli
поэтому вам необходимо также установить этот пакет в devDependencies
. Кроме того, webpack ожидает, что новая конфигурация mode
будет установлена либо в прогоне CLI, либо в файле конфигурации.
Использование CLI в ваших сценариях npm
:
"scripts": {
"dev": "webpack --mode development",
"prod": "webpack --mode production"
}
Свойство "Установить mode
в вашем конфигурационном файле webpack:
{
mode: 'production' // | 'development' | 'none'
}
Если значение режима не указано, webpack использует production
значение (опция по умолчанию). Но предупреждает вас на выходе:
ПРЕДУПРЕЖДЕНИЕ в конфигурации
Опция "режим" не установлена. Установите параметр "mode" в "development" или "production", чтобы включить настройки по умолчанию для этой среды.
mode
Webpack уменьшает необходимую конфигурацию для полезной сборки, используя набор значений по умолчанию (значения по умолчанию для свойств конфигурации в зависимости от значения mode
):
production
позволяет оптимизировать все виды оптимизации для оптимизации пакетовdevelopment
позволяет получать полезные сообщения об ошибках и оптимизируется для скоростиnone
- скрытый режим, который отключает всеПодробнее о примечаниях к выпуску и журнале изменений
Он будет обновлен очень скоро, см. Эту ссылку для информации
Мы очень близки к тому, чтобы завершить руководство по миграции и дополнения к документам V4! Чтобы отслеживать прогресс или раздавать руку помощи, зайдите в наш репозиторий документации, проверьте следующую ветку и помогите!
Получил ту же проблему и после небольшого исследования нашел, что проблема исправлена, как вы можете видеть в этой нити Github
Один из вариантов:
Внутри package.json устанавливаются scripts
либо в режиме development
либо в режиме production
"scripts": {
"dev": "webpack --mode development",
"build": "webpack --mode production"
}
И теперь, когда вы запустите npm run dev
он даст вам bundle.js
но не будет уменьшен.
Но когда вы запустите npm run build
, вы получите мини-пакет
Документы Webpack 4 еще не готовы. Недавно я перешел с webpack 3 на 4, и мне потребовалось некоторое время, чтобы разобраться во всех проблемах.
Вот мой пример репо, который вы можете использовать в качестве ссылки для перехода с webpack 3 на 4.
https://github.com/flexdinesh/react-redux-boilerplate
Там одна фиксация предназначена для миграции. Взгляните на это для получения дополнительной информации.