无法使用节点检查器debugging匿名函数
下面是我尝试使用节点检查器debugging器的简单演示服务器程序:
var http = require('http'); var fs = require('fs'); http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/html' }); var html = fs.readFileSync(__dirname + '/index.htm', 'utf8'); var message = 'Hello world...'; html = html.replace('{Message}', message); res.end(html); }).listen(1337, '127.0.0.1');
尝试我可能,我不能哄节点检查器设置一个断点(或者,使用debugging器语句)传递给http.createServer(…)函数调用的匿名函数。 我可以在第一行(例如,var http = require …)的第二行和第四行(http.createServer …)设置一个断点,但不在传入的匿名函数中。
首先,我试图拉出匿名函数,并创build一个函数expression式,如下所示:
var callback = function(req, res) { ... }
并传递给了
http.createServer(callback).listen(1337, '127.0.0.1');
那也行不通。
最后,我尝试命名这样的function:
var http = require('http'); var fs = require('fs'); function callback(req, res) { res.writeHead(200, { 'Content-Type': 'text/html' }); var html = fs.readFileSync(__dirname + '/index.htm', 'utf8'); var message = 'Hello world...'; html = html.replace('{Message}', message); res.end(html); } http.createServer(callback).listen(1337, '127.0.0.1');
这就像一个魅力!
如果这是节点检查员的固有限制,那么这是一个严重的问题。 我希望有人能给我一个更简单的debugging方法,而不是必须在全球范围内提取匿名函数并命名它们。