将命令行variables传递给npm脚本?
我正在尝试将一个命令行(特别是不在版本控制)选项传递给我的主要index.js
脚本,它执行一些基于特定S3存储桶的东西。
在我的package.json中:
"scripts": { "start": "bucket_name=${bucket_name:=null} node babel.runtime.js" },
并通过命令行:
npm start -- --bucket_name="test"
但是bucket_name
不断返回为空,所以var没有正确传递。 我认为这是简单的,但我无法弄清楚我做错了什么。
您提出了两种分配variables的方法。
第一个,使用npm script
"scripts": { "start": "bucket_name=${bucket_name:=null} node babel.runtime.js" }
此方法设置可从process.env.bucket_name
访问的bucket_name
环境variables 。
第二种方法,通过命令行
npm start -- --bucket_name="test"
这种方法将bucket_name
设置为正在运行的进程的参数 。 这可以从process.argv
数组访问。
它并不是说这个variables没有被设置为一个或另一个,它只是在你访问的地方。 其中每个设置不同的地方bucket_name
。