express的一些常见问题

来源:互联网 发布:python reversed函数 编辑:程序博客网 时间:2024/06/05 07:24

如何处理 404 ?

在 Express 中,404 并不是一个错误(error)。因此,错误处理器中间件并不捕获 404。这是因为 404 只是意味着某些功能没有实现。也就是说,Express 执行了所有中间件、路由之后还是没有获取到任何输出。你所需要做的就是在其所有他中间件的后面添加一个处理 404 的中间件。如下:

app.use(function(req, res, next) {  res.status(404).send('Sorry cant find that!');});

如何设置一个错误处理器?

错误处理器中间件的定义和其他中间件一样,唯一的区别是 4 个而不是 3 个参数,即 (err, req, res, next):

app.use(function(err, req, res, next) {  console.error(err.stack);  res.status(500).send('Something broke!'); });

请参考错误处理章节以了解更多信息。
如何渲染纯 HTML 文件?

不需要!无需通过 res.render() 渲染 HTML。你可以通过 res.sendFile() 直接对外输出 HTML 文件。如

res.readFile('index.html')

果你需要对外提供的资源文件很多,可以使用 express.static() 中间件

app.use(express.static('htmls'));

假设在html里放入一个html-index.html,那么就可以访问http://localhost:3000/html-index.html

0 0