前面讲到 express 有一个内置的错误处理逻辑,如果程序出错,会直接将错误栈返回并显示到页面上。如访问:localhost:3000/posts/xxx/edit 没有权限编辑的文章页,将会直接在页面中显示错误栈,如下:

    1. Error: 权限不足
    2. at /Users/nswbmw/Desktop/myblog/routes/posts.js:95:15
    3. at <anonymous>
    4. at process._tickCallback (internal/process/next_tick.js:188:7)

    现在我们修改代码,实现复用页面通知。修改 index.js,在 app.listen 上面添加如下代码:

    index.js

    1. app.use(function (err, req, res, next) {
    2. console.error(err)
    3. req.flash('error', err.message)
    4. res.redirect('/posts')
    5. })

    这里我们实现了将错误信息用页面通知展示的功能,刷新页面将会跳转到主页并显示『权限不足』的红色通知。

    上一节:4.11 404页面

    下一节:4.13 日志