Должен ли я считать --mode=production
"полной" версией -p
? Некоторые руководства по inte rnet используют -p
, другие - --mode=production
, а некоторые даже используют оба.
В соответствии с документацией CLI> Ярлыки -p
аналогичен --mode=production
:
(Изображение документов взято отсюда: https://webpack.js.org/api/cli/#shortcuts)
Таким образом, независимо от того, используете ли вы одно или другое (или оба - но это не рекомендуется, поскольку это может привести к путанице с другими), вы не должны видеть никакой разницы в выводе веб-пакета.
Вы можете подтвердить это, запустив сначала веб-пакет с -p
, отметив хэши выходных файлов, а затем сделав то же самое с --mode=production
и сравнив хэши.
Вот быстрый тест, который я запустил, используя один файл ввода index.js
, который просто делает console.log("HELLO")
:
Как вы можете видеть ha sh в обоих случаях это de140f9e5092685464e8
.
. Допустим, что входной файл здесь может иметь недостаточно большую площадь поверхности, чтобы конкретно доказать, что и -p
, и --mode production
дают одинаковый результат, но этого должно быть достаточно для демонстрации. описанный подход.
Также было бы здорово узнать, есть ли разница между --mode=production
и --mode production
, потому что для меня обе версии работают абсолютно нормально
Нет никакой разницы между двумя способами указания флагов и их значений:
$ webpack --mode production
$ webpack --mode=production # equivalent to the above
Независимо от того, какой веб-пакет библиотеки синтаксического анализа флагов использует (может быть даже на заказ), вы позаботитесь о любом случае для вас, так что вы можете выбрать любой подойти к вам пр EFER. Это довольно распространенное поведение для CLI.
Кроме того, здесь есть поток, который говорит, что -p "Запускать команды параллельно". Это флаг для узла, который имеет то же имя, что и -p для веб-пакета?
Я считаю, что флаг -p
, на который здесь ссылаются, предназначен для библиотеки npm-run-all
, как он используется в примере в ответе как сценарий npm, следующим образом:
"test": "npm-run-all -p -r webdriver-start http-server protractor"