
254
한 권으로 끝내는 Node & Express
app.get(‘/staff/:city/:name’, (req, res, next) => {
const cityStaff = staff[req.params.city]
if(!cityStaff) return next() // 인식되지 않은 도시 => 404
const info = cityStaff[req.params.name]
if(!info) return next() // 인식되지 않은 직원 => 404
res.render(‘staffer’, info)
})
14.6
라우트 구성
라우트 전체를 메인 애플리케이션 파일 하나에서 정의하면 감당하기가 어렵습니다. 파일이 커
질 뿐만 아니라, 그 파일에서는 이미 너무 많은 일을 처리하고 있으므로 기능을 분리한다는 원
칙에도 맞지 않습니다. 라우트가
10
개 내외인 작은 사이트에서는 상관없지만 라우트가 수백
개씩 되는 큰 사이트에서는 문제가 됩니다.
그러면 라우트를 어떻게 구성해야 할까요? 정답은 없습니다. 익스프레스에는 라우트 구성 방
법에 제한이 없으므로, 한계는 오직 여러분의 상상력뿐입니다.
일반적인 방법 몇 가지를 제시하겠지만, 그에 앞서 다음 네 가지 원칙을 염두에 두길 권합니다.
라우트 핸들러에는 이름 붙은 함수를 사용하세요
라우트 핸들러를 인라인으로 만들면 ...