【发布时间】:2013-03-14 20:49:44
【问题描述】:
我一直在拼命想弄清楚这段代码有什么问题。我直接从 node-static github 存储库示例中复制了它,但它似乎不起作用。我所做的唯一修改是公共文件的路径(以前是'./public')。在我的公用文件夹中,我有一个 index.html,但是当我点击 http://localhost:8080/index.html 时,我什么也得不到。
var static = require('node-static');
//
// Create a node-static server instance to serve the './public' folder
//
var file = new(static.Server)('C:\Projects\node\public');
require('http').createServer(function (request, response) {
request.addListener('end', function () {
//
// Serve files!
//
file.serve(request, response);
});
}).listen(8080);
如果重要的话,我在 Windows 7 64 位上运行 Node.js。
编辑:
我输入了一些console.log 语句,它进入了服务器处理程序,但没有进入侦听器处理程序。这可能与“结束”事件有关吗?
【问题讨论】:
-
嗯,虽然已经解决了……但是可能不建议删除 addListener。这段代码应该在 node v0.8 或更早版本中运行良好。但是节点 v0.10 中不会触发“结束”事件。将
.resume()添加到处理程序绑定的末尾,如request.addListener(...).resume()。它将强制节点触发结束事件。
标签: node.js node-static