在VS Code调试器中,如何在launch.json中为nodejs使用envFile?

时间:2019-05-17 00:33:20

标签: node.js vscode-debugger

我正在尝试在我的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文件?

1 个答案:

答案 0 :(得分:1)

我将使用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