在新版本的节点中,node-inspector是内置的,可以使用该命令触发node --inspect index.js.但是,这始终提供一个命令行,其中包含您必须插入地址栏的地址.我知道这可能不是最"安全"但有没有办法消除复制和粘贴步骤?
Ali*_*Ali 46
在Chrome 60+中,url中有一个"为节点打开专用DevTools"项chrome://inspect/#devices(以及节点运行时devtools中的node.js图标)打开的检查窗口将在启动或重新启动时连接到node.js ,所以每次都不需要手动打开它.
我正在寻找同样问题的答案,我发现了两个不错的工具:
NIM看起来更先进,它能够自动检测节点实例,这些实例在我当前的设置中非常好用.我用来nodemon在文件更改时自动重启节点服务器.更进一步,我设置Webpack与HMR(热模块重新加载),我有完全覆盖/public和/server文件夹.我花了两个星期的时间学习如何设置,但现在它开始有所回报.
npm install -g nodemon
npm install -g ts-node // In case you use typescript
Run Code Online (Sandbox Code Playgroud)
nodemon.json
{
"verbose": false,
"watch": ["server/**/*.ts"],
"ext": "ts js json",
"ignore": ["server/**/*.spec.ts"],
"exec": "set DEBUG=app:*,-not_this & ts-node --inspect --debug-brk server/main.ts"
}
Run Code Online (Sandbox Code Playgroud)
set DEBUG=app:*,-not_this用于启用Visionmedia调试的输出
(!)现在有一个问题,有debug()没有打印在Chrome检查文本,但是至少在文本在命令行中可见的那一刻.我使用命令行来查看调试语句和检查器来扩展对象.
编辑
与此同时,我发现了一个相当丑陋的修复,但我完成了工作,部分...颜色元数据被忽略,更糟糕的是它在字符串中呈现.所以它严重影响了可读性.但是嘿......我有一些日志出来了,更好的是什么都没有.
我最近遇到的另一个问题是NIM没有正确连接.最终我发现我需要127.0.0.1在NIM配置面板中输入实际的IP地址而不是localhost
debugOff 它只是一种临时关闭日志的临时方式,直到我再次需要它们为止.
// Debug
let debugOff = (...any: any[]) => { }, debug = require('debug')('vs:ServerApp');
// Workaround for debug working with node inspector in chrome
let Debug = require('debug');
Debug.log = console.log.bind(console);
/**
* Listen for incoming requests
*/
public listen(): void {
debug('Start server');
debugOff('Server port:', SERVER.port); // This would be usually too verbose
Run Code Online (Sandbox Code Playgroud)
有一个单独的实用程序来执行此操作,称为inspect-process,但没有内置支持.
据我所知,启动检查器并输出该调试消息的(C++)代码在这里:
https://github.com/nodejs/node/blob/master/src/inspector_socket_server.cc
特别是功能InspectorSocketServer::Start,PrintDebuggerReadyMessage
我没有看到在此代码中自动打开浏览器的任何功能(在编写v7.4时),但会建议以下之一:
| 归档时间: |
|
| 查看次数: |
8495 次 |
| 最近记录: |