我已经看到这个问题问过其他平台/语言-有什么想法吗?我想做类似的事情:
if (detectDebug()) { require('tty').setRawMode(true); var stdin = process.openStdin(); stdin.on('keypress', function (chunk, key) { DoWork(); } } else { DoWork(); }
我希望能够在调试时切换键盘输入作为脚本的开始,这样我就可以花点时间启动chrome来监听我的节点检查器端口。
***快速更新-我猜我实际上可以使用“ process.argv”来检测–debug是否传入。这是最佳/正确的方法吗?
v8debug在调试模式下运行时,NodeJS创建一个全局对象:node debug script.js
v8debug
node debug script.js
因此,可能的解决方案是:
var debug = typeof v8debug === 'object';
对于我的用例,我使用它是因为我想避免传递环境变量。我的主节点进程启动了子节点进程,并且我也希望为子节点node debug mainScript.js触发调试模式(再次,不将env变量传递给子进程)
node debug mainScript.js