如何使用routes.js放置404页面?

时间:2014-02-25 11:00:53

标签: node.js web-applications express routes compoundjs

我目前正在使用nodejs中的webapp。我在express框架上使用compoundjs。

如何使用routes.js放置404页面?没有适当的文件可以这样做。

我只想处理不可用的控制器操作。我无法做到。

提前致谢。

1 个答案:

答案 0 :(得分:1)

详情见快递examples

// Error handlers

// Since this is the last non-error-handling
// middleware use()d, we assume 404, as nothing else
// responded.

// $ curl http://localhost:3000/notfound
// $ curl http://localhost:3000/notfound -H "Accept: application/json"
// $ curl http://localhost:3000/notfound -H "Accept: text/plain"

    app.use(function(req, res, next){
      res.status(404);

      // respond with html page
      if (req.accepts('html')) {
        res.render('404', { url: req.url });
        return;
      }

      // respond with json
      if (req.accepts('json')) {
        res.send({ error: 'Not found' });
        return;
      }

      // default to plain-text. send()
      res.type('txt').send('Not found');
    });