【问题标题】:node.js - express - URL and error handlingnode.js - express - URL 和错误处理
【发布时间】:2013-03-12 04:42:18
【问题描述】:

我是 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);     
        }
    });
});

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    Express 基于Connect,因此支持其中间件。并且有适合您情况的完美中间件:static file serving

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

    这会将/public 目录中的所有文件作为根目录中可用的静态文件提供。对于不单独处理且不存在文件的路由,返回404错误。

    顺便说一句。你想把listen-call 放在最后。

    【讨论】:

    • 感谢您的回答,对我帮助很大。是否有任何关于 express 或一般节点模块的文档?
    • 是的,请参阅express guideAPI reference,当然还有connect documentation 以获得完整概述。然后您可以随时查看项目的来源。
    猜你喜欢
    • 2013-03-20
    • 1970-01-01
    • 2021-12-23
    • 2014-12-15
    • 2016-12-29
    • 1970-01-01
    • 2012-10-30
    • 2012-03-02
    • 1970-01-01
    相关资源
    最近更新 更多