【问题标题】:how to pass parameter from one script to another script in `package.json`?如何将参数从一个脚本传递到`package.json`中的另一个脚本?
【发布时间】:2019-03-16 17:30:00
【问题描述】:

我想在package.json 中创建以下脚本。脚本upload 是上传到s3 存储桶的通用命令。它接受存储桶名称作为参数。其他两个脚本传入不同的存储桶名称进行上传。下面的代码没有按预期工作。我怎样才能使脚本适用于这种情况?

scripts: {
    "upload": "aws s3 cp build s3://$1 --grants",
    "upload:dev": "npm run upload -- test",
    "upload:prod": "npm run upload -- prod"
}

【问题讨论】:

  • 最好是全部,或者至少是 Linux 和 macOS

标签: node.js npm package.json


【解决方案1】:

您可以使用以下内容:

"scripts": {
    "upload": "aws s3 cp build s3://$npm_config_bucket --grants",
    "upload:dev": "npm run upload --bucket=test",
    "upload:prod": "npm run upload --bucket=prod"
},

【讨论】:

  • 如果你希望它通过 Windows cmd.exe 和 *nix shell 跨平台运行,那么考虑另外使用cross-var 来规范 npm 变量的引用方式,即$npm_config_bucket 和 %npm_config_bucket%
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多