【发布时间】:2016-03-01 02:09:58
【问题描述】:
我知道我们可以声明要在npm run 命令运行的脚本中使用的环境变量,如下所示:
TEMP_VARIABLE=value node app.js
但是如果我需要在多个npm run 脚本中使用声明的变量,那么每次都需要重复指定变量的值,如下面的代码示例:
"start": "SRC_DIR=src node src/app.js",
"lint": "SRC_DIR=src jshint src/*.js",
"coverage": "SRC_DIR=src istanbul cover --dir outputDir -i src/*.js"
有没有办法让我们可以使用npm run-script 导出环境变量以允许如下所示:
"scripts": {
"set-env": "export SRC_DIR=src", # should export the env var to be used later
"start": "node ${SRC_DIR}/app.js", # use the env var set earlier.
"lint": "jshint ${SRC_DIR}/*.js" # use the same env var again
"coverage": "istanbul cover -d ./lcov -i ${SRC_DIR}/*.js" # use again
}
那么我们就可以这样做了:
npm run set-env
npm run lint
npm run start
【问题讨论】:
-
为什么不使用
configobject: docs.npmjs.com/files/package.json#config? -
我想做同样的事情,除了我不想设置静态值,我想更新
$PATH环境变量的值。在这种情况下,config将不起作用。
标签: node.js npm environment-variables env