Webpack 使用标志 运行 不同的脚本
Webpack using flags to run different script
我的 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 运行 dev 用于我的本地(英国)站点。
要将标志传递给 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,尤其是当你传递了不止一个标志时。
我的 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 运行 dev 用于我的本地(英国)站点。
要将标志传递给 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,尤其是当你传递了不止一个标志时。