与 pre npm 脚本一起使用时如何传递 `--`

How to pass `--` when used with pre npm scripts

如何将其他标志传递给具有 pre 配置的 npm 命令

"prebuild": "npm run build:vendor",
"build": "cross-env NODE_ENV=production webpack --env.production -p",

当我运行 npm run build -- --env.produciton flag --env.produciton 不起作用

我想传递给 webpack 命令..这样结束
cross-env NODE_ENV=production webpack --env.production -p --env.production

传递参数的两个选项,一个在节点上 cross-env:

"build": "cross-env NODE_ENV=production YOUR_ENV=yourName webpack -p"

if (process.env.YOUR_ENV === 'yourName') { }

另一个用 webpack:

"build": "webpack --env.NODE_ENV=local --env.YOUR_ENV yourName --progress"

const path = require('path');

module.exports = env => {
  // Use env.YOUR_ENV here:
  console.log('YOUR_ENV: ', env.YOUR_ENV); // 'yourName'

  return {
    entry: './src/index.js',
    output: {
      filename: 'bundle.js',
      path: path.resolve(__dirname, 'dist'),
    },
  };
};

如果您不设置值,则该参数始终为真。

https://webpack.js.org/guides/environment-variables/

Setting up your env variable without assignment, --env.production sets --env.production to true by default..