我见过其他平台/语言被问及这个问题——有什么 idea 吗?我想做一些事情,比如:

if (detectDebug())
{
    require('tty').setRawMode(true);    
    var stdin = process.openStdin();

    stdin.on('keypress', function (chunk, key) {
        DoWork();
    }
}
else
{
    DoWork();
}

我希望能够在调试时切换键盘输入作为脚本的开始,这样我就可以有时间启动chrome来监听我的 node 判断器端口.

***快速更新——我猜我实际上可以使用"process.argv"来检测是否传入了调试.这是最好的/正确的方式吗?

推荐答案

在调试模式下运行时,NodeJS会创建一个v8debug全局对象:node debug script.js

因此,一个可能的解决方案是:

var debug = typeof v8debug === 'object';

对于我的用例,我使用它是因为我想避免传递环境变量.我的主 node 进程启动子 node 进程,我希望node debug mainScript.js也能触发子 node 的调试模式(同样,不向子进程传递env变量)

Node.js相关问答推荐

如何使用jq将依赖项添加到package.json中

当建议在第二代上运行云功能时,现在是否有新的Firestore AdminClient可供使用?

如何使用多个OR参数从多个集合聚合

请求正文未定义

MongoDB的方面查询的Postgres类似功能

Nestjs重写子类dto nodejs中的属性

如果我在 tsx 文件中使用了use client,ssr 会如何发生?

Amplify 部署的应用程序出现TypeError: handler is not a function错误,但它在本地运行

如何在带有 JS 的 Nodejs 中使用没有 Async 方法的 Await

express 和 mongoose 的新密码不正确

未捕获的错误: 只能用作 元素的子元素,永远不会直接呈现.请将您的 包裹在

在 Node JS 中使用 url 链接而不是文件路径

Fly.io 启动问题:无法从源获取图像或构建错误:构建错误:连接期间出错:发布...

如何从哪个应用程序用户中找到在 Firebase 身份验证中进行身份验证的用户

在新创建的 Angular 工作区上运行 ng lint 时出错

Node.js 变量声明和范围

如何可靠地散列 JavaScript 对象?

MongoDB Node findone如何处理没有结果?

使用 Webpack 和 font-face 加载字体

向 Stripe 提交付款请求时出现没有此类令牌错误