0

要求されたURLを提供するためにテストしていますが、試してみると次のようになります。

http://localhost:4000/foo

ブラウザによると:/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
4

1 に答える 1

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モジュールだけを少し試してみることをお勧めします。

于 2013-03-26T15:43:00.677 に答える