npm如何运行脚本来设置可由另一个npm运行脚本使用的系统环境

时间:2017-06-13 07:30:04

标签: node.js npm

我在npm的package.json中设置了几个脚本,例如

{
    "scripts": {
        "server:install": ". ./scripts/server-install.sh",
        "server:start": ". ./scripts/server-start.sh",
        "server:stop": ". ./scripts/server-stop.sh",
        "test:e2e": "jest --collectCoverage false test/**/*"
    } 
}

server-start.sh中,我将在本地启动dynamoDB服务,并需要设置系统环境AWS_API_KEY值。在npm run test:e2e时,该值将用于测试用例。

但问题是我在AWS_API_KEY中为server:start设置的值无法在test:e2e中使用。似乎server-start.sh中的变量集操作将更改当前控制台/会话的系统变量。

我用Google搜索并尝试过:

"server:start": "AWS_API_KEY=dummy . ./scripts/server-start.sh"

或使用cross-env

"server:start": "cross-env-shell AWS_API_KEY=dummy && . ./scripts/server-start.sh"

都失败了。我能想到的唯一一个想法是将AWS_API_KEY写入〜/ .bash_profile。我不想这样做。

任何帮助将不胜感激。

0 个答案:

没有答案