我需要在vs代码中创建任务的可能性,在其中可以设置某些环境变量,以便我可以通过以下方式使用它们: process.env.gateway_host 。
因此,如果我以 npm run start 为例,这些变量应该可以在我的 proxy.conf.json 中使用。
我不知道确切的解决方案和语法,因为我从未做过这样的事情。我该在哪里以及如何将这些变量放入vs代码中?
这是我的task.json:
{
"version": "2.0.0",
"command": "npm",
"supressTaskName" : true,
"options": {
"env": {
"gateway_host" : "...",
"http_proxy": "http://localhost:8080",
"HTTP_PROXY": "http://localhost:8080"
}
},
"tasks": [
{
"label": "run",
"args":[
"start"
]
}
]
}
这是我的proxy.conf.js:
var HttpsProxyAgent = require('https-proxy-agent');
var proxyConfig = [
{
context: '/api/**',
target: "process.env.gateway_host",
changeOrigin: true,
agent: new HttpsProxyAgent(process.env.http_proxy || process.env.HTTP_PROXY),
secure: false,
logLevel: 'debug'
},
{
context: '/resources**',
target: process.env.gateway_host,
changeOrigin: true,
agent: new HttpsProxyAgent(process.env.http_proxy || process.env.HTTP_PROXY),
secure: false,
logLevel: 'debug'
}
];
module.exports = proxyConfig;
检测到环境变量 process.env.gateway_host ,但未检测到 http_proxy 变量。当我直接在我的proxy.conf.js 中输入字符串“ http://localhost:8080”而不是 process.env.HTTP_PROXY 时,一切正常。因此,还需要识别环境变量“ http_proxy”。但是如何?