如何将环境变量的右值作为 NPM 脚本的 CLI 参数传递

How to pass r-value of an environment variable as a CLI argument for an NPM script

目标:有没有一种方法或技巧可以让我将环境变量的 r 值添加为 NPM 脚本的 CLI 参数 而无需调用单独的脚本?

示例:

我目前使用的是:

这行得通,但我想知道是否有一种方法甚至可以省略在我的命令中添加 host=,这样我就可以只写 r 值,localhost 为简洁起见。

我不认为你想要实现的是你想要实现的,因为 npm 如何打破 command-line 争论。传入的任何内容都作为单独的“选项”附加,而不是仅添加到现有字符串,这是您当前看到的行为 (npm run test:run localhost => cypress run --spec 'tests/*' --env host= localhost).

有几个备选方案,这些似乎是您不想做的,但您可以为该行为创建一个单独的脚本。

"test:run": "cypress run --spec 'tests/*' --env"
"test:run:local": "npm run test:run host=localhost"

或者,您可以在测试命令之前声明 Cypress 环境变量。

CYPRESS_HOST=localhost npm run test:run