node下的express是怎么定位到error.jade文件的

发布于 2022-09-01 20:41:18 字数 477 浏览 8 评论 0

我使用的是默认环境express nodeTest
打开目录下的app.js文件。第29行到33行:

clipboard.png

app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});

而error.jade在根目录下的views目录里。
这里app.use只进行了赋值,我没有看到其他操作。
那他是怎么确定这个use调用的error.jade文件的?
从而达到,输入错误的路径,调用error.jade对页面渲染的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如果没有 2022-09-08 20:41:18
app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});

上面代码中有个next参数,这是一个函数来的,代表进入下一个匹配的路由,而在app.js下面有一段代码是这样的,我贴出来给你

app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
        message: err.message,
        error: {}
    });
});

app.use第一个参数是path路径,当没有的时候是匹配/,就是所有没有返回的route都会经过这里,而next函数就是把请求转移到下一个符合匹配路径的route中,当next(err)最后经过上面这个路由的时候就是渲染error.jade。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文