Webpack использует флаги для запуска другого скрипта - PullRequest
0 голосов
/ 06 февраля 2019

В моем файле package.json есть несколько сценариев для сценариев на основе определения местоположения (это канадская версия).

"dev-ca": "npm run development-ca",
"development-ca": "cross-env process.env.location=us NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"

это работает нормально, но мне нужно запустить

npm run dev-ca

Я бы предпочел запустить

npm run dev --ca

Возможно ли это?Я все еще хочу запустить свой стандартный npm run dev для моего локального (британского) сайта.

1 Ответ

0 голосов
/ 06 февраля 2019

Чтобы передать флаги сценарию npm (в отличие от самого npm run), передайте их после окончательного --, например, так:

npm run dev -- --ca

Затем грубое решение, чтобы выбрать флаг вваша сборка будет:

// somewhere in your config file
const argv = process.argv.join('');
let location = 'uk'; // default to UK
for (const flag of ['ca', /* other locations... */]) {
  if (argv.includes(`--${flag}`)) {
    location = flag;
  }
}

Улучшение в этом направлении будет заключаться в использовании анализатора флагов, например, minimist , особенно если вы передаете более одного флага.

...