gpt4 book ai didi

node.js - 在VS Code-debugger中,如何在launchjs.json中使用envFile作为nodejs?

转载 作者:行者123 更新时间:2023-12-03 12:18:47 24 4
gpt4 key购买 nike

我正在尝试在我的nodejs应用程序上的VS Code中运行调试器。我正在使用.env文件存储以后用process.env。调用的环境变量。当我在VS Code文档中查找launch.json时,它提到了envFile选项来加载.envFile。不幸的是,当我运行调试器时,这并没有加载文件。

launch.json:

{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "RegressionTestSuite",
"autoAttachChildProcesses": true,
"program": "node ${workspaceFolder}/node_modules/.bin/cucumber-js",
"args": [
],
"envFile": "${workspaceFolder}/.env"
},
]
}

.env:
export SCREEN_SIZE_WIDTH='1366';
export SCREEN_SIZE_HEIGHT='768';

当我运行VS Code调试器时,.env文件中没有环境变量。我应该如何在launch.json中调用.env文件?

我应该添加一些更多的信息,让它正常工作:

我最终使我的.env文件成为环境变量列表

.env文件示例:
# Standard supported size is width='1366, height=768
SCREEN_SIZE_WIDTH='1366'
SCREEN_SIZE_HEIGHT='768'
EPAY_GUI_AUTOMATION_TEST_DEBUG_MODE='yadda_yadda_yadda'

在我的nodejs世界构造函数中,我包括了

world.js示例:
enter code here`enter code here`require('dotenv').config();
process.env.EPAY_GUI_AUTOMATION_TEST_DEBUG_MODE

在hook.js中,我使用了:
BeforeAll(async function() {
this.browser = await puppeteer.launch({
headless: (process.env.HEADLESS === 'true'),
slowMo: parseInt(process.env.SLOWMO),
defaultViewport: {
width: parseInt(process.env.SCREEN_SIZE_WIDTH),
height: parseInt(process.env.SCREEN_SIZE_HEIGHT)
}
});
.
.
.

我保持了launch.json不变。

最佳答案

我将使用dotenv包来加载.env文件,因为它也可以供那些不使用VS Code的人使用。如果要将其包含在VS Code配置中,则可以执行以下操作:

{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "RegressionTestSuite",
"autoAttachChildProcesses": true,
"program": "node -r dotenv/config ${workspaceFolder}/node_modules/.bin/cucumber-js",
"args": []
},
]
}

您的问题还可能是您的 .env文件不应包含 export和分号,因为它不是JavaScript文件:
SCREEN_SIZE_WIDTH=1366
SCREEN_SIZE_HEIGHT=768

关于node.js - 在VS Code-debugger中,如何在launchjs.json中使用envFile作为nodejs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56178143/

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