Nodejs和Express无法find资源文件(CSS和JS文件)

我试图用快递来build立一个简单的网站。 一切工作正常,直到我决定添加一个下面的代码来捕获404错误

app.get('/*', function(req, res) { res.render('404.ejs',{ title: 'PAGE NOT FOUND', layout:'layout'}) }); 

之后,注意所有内部的CSS文件和JavaScript的追索文件,无法正确加载,我找出,因为这些CSS和JavaScript文件ref链接它不在路由configuration。 那为什么所有路由到页面都找不到/ *

所以只是想知道,什么是正确的方法,我可以捕捉到404错误,并显示我自己的自定义页面,也没有影响所有的资源文件加载。 谢谢!

如果使用express,则应使用以下示例中的error handling中间件:

 // Routing and public files app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); // Error-handling middleware app.use(function(err, req, res, next) { // Parse error // Ex. if error = 500, render 500.jade page // At the end next(err); }); // This is called on any page not in router. app.use(function(req, res, next) { res.status(404); // respond with html page if (req.accepts('html')) { res.render('error/404', { title: '404 Error.' }); 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'); }); 

请参阅此处有关快速error handling的更多信息。