gpt4 book ai didi

javascript - 设置环境变量 grunt 或 grunt-exec

转载 作者:行者123 更新时间:2023-11-30 11:49:22 33 4
gpt4 key购买 nike

我正在尝试使用 grunt-exec 运行一个 javascript 测试运行程序,并传入一个已部署的链接变量。

我尝试通过使用 exec:setLink 设置环境变量 grunt.option('link') 来实现。在我的 test_runner.js 中,我使用 process.env.TEST_LINK 获取变量。不幸的是,grunt-exec 似乎不会运行诸如 export(?) 之类的 bash 命令

真的,我不关心变量是如何到达我的 test_runner.js 的,所以欢迎任何其他想法。

exec: {

// DOESN'T WORK: Sets env variable with link for selenium tests
setLink: {
cmd: function () {
return "export TEST_LINK=" + "'" + grunt.option('link') + "'";
}
},
// Integration tests, needs TEST_LINK
selenium: {
cmd: function () {
return "node test/runner/jasmine_runner.js";
}
}

最佳答案

使用grunt-exec,可以在env option 中指定子进程的环境变量。 :

exec: {
selenium: {
cmd: function () {
return "node test/runner/jasmine_runner.js";
},
options: {
env: {
'TEST_LINK': grunt.option('link')
}
}
}
}

要记住的一件事是,如果在 env 选项中只指定了 TEST_LINK,那将是子进程的唯一环境变量。如果你也想传递当前进程的环境变量,你可以这样做:

exec: {
selenium: {
cmd: function () {
return "node test/runner/jasmine_runner.js";
},
options: {
env: Object.assign({}, process.env, { 'TEST_LINK': grunt.option('link') })
}
}
}

关于javascript - 设置环境变量 grunt 或 grunt-exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39963764/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com