如何在 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
如果当前 WORKER
是 MASTER
我还检查了这个环境变量,例如:
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 {
}
希望这对某人有所帮助,如果您需要帮助,请告诉我。
通常在 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
如果当前 WORKER
是 MASTER
我还检查了这个环境变量,例如:
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 {
}
希望这对某人有所帮助,如果您需要帮助,请告诉我。