我正在测试提供请求的网址,但是当我尝试:
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
答案 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模块。