node.js socket.io - 跟踪请求的url

时间:2013-03-26 15:20:15

标签: node.js url express socket.io

我正在测试提供请求的网址,但是当我尝试:

http://localhost:4000/foo

浏览器说:不能GET / foo

我的服务器代码:

var express = require('express');
var app = express();
var http = require('http');
var server = http .createServer(app);
var io = require('socket.io').listen(server);
var url = require('url');





server.listen(4000);

app.get('/', function (request, response) {
var pathname = url.parse(request.url).pathname;
 console.log("currentpathname: "+pathname);
});

我想出一个“foo”:

 http://localhost:4000/foo

1 个答案:

答案 0 :(得分:0)

Express仅处理您告诉它要处理的路径,它返回的所有其他路径404都包含Cannot GET /foo

等消息

app.get('/'仅处理'/'来处理您需要使用的所有路径app.get'*'

注意规范

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1'); 

相当于

express().all('*', function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1'); 

为了了解事情是如何运作的,我建议只使用核心的http模块。