如何在 Visual Studio 代码编辑器中确定集群服务器上的调试模式

How to determine Debug mode on a Clustered Server in Visual Studio Code Editor

通常在 Visual Studio Professional 上,我们可以在 C# 中做到这一点

#if DEBUG
 //doing something
#else
 //Release mode doing something
#endif

我的 NodeJS 服务器环境是集群的,所以我需要检查调试模式以设置一些变量。

显然我不想用这个 '#' 来证明调试模式,我只是想知道编辑器是否设置了一些 process 变量来检查它。

我发现的一个很好的方法是在 launch.json 文件上设置一个 ENV 变量,如下所示:

{
    "version": "0.1.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "node",
            "request": "launch",
            "program": "${workspaceRoot}/server.js",
            "stopOnEntry": false,
            "args": [],
            "cwd": "${workspaceRoot}",
            "runtimeExecutable": null,
            "runtimeArgs": [
                "--nolazy"
            ],
            "env": {
                "NODE_ENV": "development",

                // Here's my change
                "IS_DEBUG": true 
            },
            "externalConsole": false,
            "sourceMaps": false,
            "outDir": null
        }]
}

我添加了一个名为 IS_DEBUG 的新 属性 并将其设置为 ENV 内的 true,因此在我的服务器文件中检查我的 cluster 如果当前 WORKERMASTER 我还检查了这个环境变量,例如:

if (!kernel.isMaster() && !process.env.IS_DEBUG) {
    // If this is true I fork the process in cluster
}
// Else I go forward initializing my database and so on 
else {
}

希望这对某人有所帮助,如果您需要帮助,请告诉我。