Node.js在错误的文件路径上崩溃

时间:2016-11-04 16:08:45

标签: javascript node.js express server

我刚开始学习Node.js和Express,我正在尝试构建一个静态文件服务器。我的问题是:每次用户插入错误的路径时,如何防止节点崩溃? 这是我的代码:

var express=require('express')
var fs=require('fs')
var app=express()
var server=app.listen(3000, listening)
console.log('Server Started on Port 3000')

function listening(){
    console.log('Listening...')
}

app.use(express.static('website'))

app.get('/search/:page', goTo)


function goTo(req, res){
    var data=req.params
    fs.createReadStream('./website/'+data.page+'.html').pipe(res)
}

谢谢!

1 个答案:

答案 0 :(得分:4)

使用try-catch,您的应用会尝试打开指定的路径。如果失败,您的应用程序将发送错误而不是崩溃。

试试这个:

function goTo(req, res) {
    var data = req.params;
    try{
        fs.createReadStream('./website/'+data.page+'.html').pipe(res);
    } catch(err) {
        res.send(err);
    }
}

希望它有所帮助。