我正在使用新安装的 eclipse 实例使用 node.js 和 eclipse 使用 nodeeclipse ( here )。我有过 eclipse 的经验,但这是为此目的的新安装。我已经使用 Node.js 有一段时间了,但我想看看 eclipse 可以增加我的头痛(或者希望减轻(一些?)它们!)。Node --version v0.10.22 Eclipse 版本是版本:Kepler Service Release 2 Build id:20140224-0627。
好的,所以我使用 New > Other.. > Nodeclipse > Node.js Express Project 创建了一个新项目。给它命名为 Hello World 并采用默认值。我更新了 index.js 文件以添加一些有趣的东西来添加断点:
exports.index = function(req, res){
res.render('index', { title: 'Express' });
console.log( "here" );
var i=45;
i = i+3;
console.log( i );
};
我在 i = i+3 行上放了一个断点。我试过运行,运行方式>节点应用程序,当我从浏览器点击“mylclhost:3000”时,它并没有在我的断点处停止。如果我执行 Debug As > Nodejs Application,它会显示一个带有蓝色 chrome favicon 的新面板(类似于这个家伙所说的情况),点击 mylclhost:3000 会导致 404,所以我点击 F8 继续并且 mylclhost:3000 工作正如预期的那样,但没有断点命中。
这是我在 Project Explorer > 右键单击 app.js > Debug As > Node Application: node --debug-brk=5858 C:\Users\person\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon 之后的 Nodeclipse 控制台输出.js C:\Users\person\workspace\HelloWorld\app.js --tea-pot-mode
这是我在第一个断点后按 F8 继续后的正常控制台输出(请注意,默认情况下,Nodeclipse 从第一行进入逐步调试模式):
debugger listening on port 5858
21 Mar 09:58:38 - [33m[nodemon] v1.0.15[39m
21 Mar 09:58:38 - [33m[nodemon] to restart at any time, enter `rs`[39m
21 Mar 09:58:38 - [33m[nodemon] watching: *.*[39m
21 Mar 09:58:38 - [32m[nodemon] starting `node C:\Users\person\workspace\HelloWorld\app.js --tea-pot-mode`[39m
Express server listening on port 3000
然后我将浏览器指向 lclhost:3000 并获得一个成功页面,正常控制台报告:
.... other stuff....
Express server listening on port 3000
[90mGET / [36m304 [90m234ms[0m
here
48
[90mGET /stylesheets/style.css [36m304 [90m4ms[0m
带断点的相关代码(标记为*):
exports.index = function(req, res){
res.render('index', { title: 'Express' });
console.log( "here" );
var i=45;
*i = i+3;
console.log( i );
};
您可以看到它在控制台中打印“48”并完全跳过断点。
就像我说的,这是一个新安装,所以上面链接的帖子并不是很有帮助。我怀疑这与 Node.js 的异步特性有关,但似乎其他人已经成功地让它工作了。
有什么想法,或者我缺少什么吗?