Express를 사용할 때 라우팅은 제가 가장 혼란스러워하는 것 중 하나입니다. app.get('*')을 사용하여 모든 페이지를 처리할 수 있다는 것을 알고 있지만 이러한 방식으로 다른 사용자 정의 경로를 제외하고 정적 파일은 무시됩니다. 최근에 작은 도구를 작성하다가 해결책을 찾았습니다:
var app = module.exports = express.createServer();
// 구성
app.configure(function () {
// ...
// 순서를 거꾸로 쓰지 마세요
app.use(express.static(__dirname '/공개'));
app.use(app.router);
});
// 기타 라우터...
// 404
app.get('*', function(req, res){
res.render('404.html', {
제목: '찾을 수 없음'
})
});
와일드카드를 마지막에 입력하세요. 이런 방식으로 라우팅되지 않은 모든 페이지는 기본적으로 404.html에 의해 인계됩니다.