在 VS 代码调试器中,如何在 launch.json 中为 nodejs 使用 envFile?
In VS Code-debugger, how do I use envFile in launch.json for nodejs?
我正在尝试 运行 我的 nodejs 应用程序上的 VS Code 中的调试器。我正在使用一个 .env 文件来存储我稍后用 process.env 调用的环境变量。当我查找 launch.json 的 VS Code 文档时,它提到了 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 代码配置中,你可以这样做:
{
"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
和 semi-colons,因为它不是 JavaScript 文件:
SCREEN_SIZE_WIDTH=1366
SCREEN_SIZE_HEIGHT=768
我正在尝试 运行 我的 nodejs 应用程序上的 VS Code 中的调试器。我正在使用一个 .env 文件来存储我稍后用 process.env 调用的环境变量。当我查找 launch.json 的 VS Code 文档时,它提到了 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 代码配置中,你可以这样做:
{
"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
和 semi-colons,因为它不是 JavaScript 文件:
SCREEN_SIZE_WIDTH=1366
SCREEN_SIZE_HEIGHT=768