繁体   English   中英

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

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

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

示例

  • 脚本: "test:run": cypress run --spec 'tests/*' --env host=
  • 用法: npm run test:run localhost
  • 预期: cypress run --spec 'tests/*' --env host=localhost

我目前使用的是:

  • 脚本: "test:run": cypress run --spec 'tests/*' --env
  • 用法: npm run test:run host=localhost
  • 结果: cypress run --spec 'tests/*' --env host=localhost

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

我不认为你想要实现的目标目前是你想要实现的,因为 npm 如何突破命令行 arguments。传入的任何内容都作为单独的“选项”附加,而不是仅仅添加到现有字符串,这是您当前看到的行为( 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM