0

私はnode.jsが初めてなので、甘やかしてください。

node.js と express-module をいじっているだけです。私はブラウザのリクエストを処理する方法を考えていましたが、今は簡単な質問があります:

これは良いアイデア/プラクティスですか、それともそれを処理するためのより良い解決策はありますか?

var http = require('http');
var express = require('express');
var fs = require('fs');
var app = express();

http.createServer(app).listen(80);

app.get('/*',function(req,res,next){
    fs.exists(__dirname + req.url, function (exists) {
        if(exists)
        {
            console.log('Sending ' + __dirname + req.url + "...");
            res.sendfile(__dirname + req.url);      
        }
        else
        {
            console.log(__dirname + req.url + " not found!");
            res.send('Sorry, page not found.',404);     
        }
    });
});
4

1 に答える 1

1

Express はConnectに基づいており、そのミドルウェアをサポートしています。そして、あなたの状況に最適なミドルウェアがあります:静的ファイル サービス.

app.use(express.static(__dirname + '/public'));

これにより、ディレクトリ内のすべてのファイルが/public、ルート ディレクトリから利用可能な静的ファイルとして提供されます。個別に処理されず、ファイルが存在しないルートの場合、404 エラーが返されます。

ところで。listen-call を最後に配置します。

于 2013-03-11T20:42:18.430 に答える