StrongLoop Node,又一 Node.js 调试工具(加入Nodejs关键词)

StrongLoop Node,又一 Node.js 调试工具(加入Nodejs关键词)

介绍看这里, 很像 Node-Inspector, 但不是基于 Webkit 而是 Blink 下载页面: http://strongloop.com/products/all-downloads 我下载安装 Mac 版以后, 通过 slnode debug app.js 打开应用, 应用跑 3000 端口, Debugger 的 url 是 http://127.0.0.1:8080/debug?port=5858 Nginx 默认有个 8080 的服务器, 略蛋疼, 直接改 Nginx 端口… 能看到和 Node-Inspector 类似的 Dev Tools, 打断点成功… 用 CoffeeScript 编译后文件测试了下, SourceMap 的确能用, 但不支持直接运行 .coffee 文件


2 回复

StrongLoop Node,又一 Node.js 调试工具

在 Node.js 开发过程中,调试是一个不可或缺的环节。最近,我发现了一个新的调试工具——StrongLoop Node,它与 Node-Inspector 类似,但采用了基于 Blink 引擎的调试界面,而非 WebKit。

下载与安装

首先,你可以从 StrongLoop 的官方网站下载 StrongLoop Node。下载页面位于 StrongLoop 下载页面

假设你已经下载并安装了 Mac 版本的 StrongLoop Node。接下来,我们可以通过命令行来启动和调试你的 Node.js 应用。

slnode debug app.js

这将启动你的应用,并将其绑定到 3000 端口。同时,它会生成一个调试 URL,用于连接到调试器。默认情况下,该 URL 是 http://127.0.0.1:8080/debug?port=5858

使用与体验

当你访问上述 URL 时,你会看到一个类似于 Chrome 开发者工具的界面。在这个界面中,你可以设置断点、查看变量值、执行单步操作等。这与 Node-Inspector 提供的功能非常相似。

例如,假设你的 app.js 文件中有以下代码:

const http = require('http');

http.createServer((req, res) => {
    console.log('Request received');
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(3000);

你可以在 console.log('Request received'); 这一行设置断点。启动应用后,当你访问 http://localhost:3000 时,调试器会暂停在断点处,允许你检查当前的变量状态。

配置与注意事项

如果你使用的是 Nginx 或其他 Web 服务器,并且它占用了 8080 端口,你可以考虑修改 Nginx 的配置以避免端口冲突。例如,你可以将 Nginx 的监听端口改为 8081

此外,StrongLoop Node 支持 Source Map,可以方便地调试编译后的代码(如 CoffeeScript)。但是,目前它还不支持直接运行 .coffee 文件,你需要先编译为 JavaScript。

通过这些简单的步骤,你可以开始使用 StrongLoop Node 来提高你的 Node.js 应用的调试效率。


关于 StrongLoop Node 这个 Node.js 调试工具,它提供了类似于 Node-Inspector 的功能,但使用的是 Blink 引擎而不是 Webkit。以下是一些具体的操作步骤和示例代码。

安装

首先确保你已经安装了 StrongLoop Node。你可以从其官方下载页面下载并安装适用于你的操作系统的版本:

使用示例

假设你有一个简单的 Node.js 应用 app.js,你可以通过以下命令启动调试模式:

slnode debug app.js

这将启动你的应用,并将其绑定到默认端口 3000,同时启动一个调试器服务,默认监听端口 5858。你可以通过浏览器访问以下 URL 来查看和操作调试界面:

http://127.0.0.1:8080/debug?port=5858

示例代码

如果你的应用 app.js 如下所示:

const http = require('http');

http.createServer((req, res) => {
    console.log('Handling request...');
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(3000);

console.log('Server running at http://127.0.0.1:3000/');

启动调试后,你可以在请求处理逻辑处设置断点,例如:

http.createServer((req, res) => {
    // 设置断点
    debugger;
    console.log('Handling request...');
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(3000);

当你访问 http://localhost:3000/ 时,程序会在 debugger; 处暂停执行,允许你在浏览器中进行单步调试、查看变量等操作。

注意事项

由于 StrongLoop Node 使用的调试端口(默认为 5858)可能与你的 Nginx 服务器端口冲突(例如 8080),你需要调整其中一个的配置以避免冲突。可以通过修改 Nginx 配置文件或使用不同的端口来解决这个问题。

希望这些信息对你有所帮助!

回到顶部