$ npm install --save express
들어오는 요청에 대해서, express에 내장된 다양한 함수를 통해 자동으로 이동하는 것이고 이 모든걸 하나의 함수로 처리하기 보다는 코드를 다수의 블록 내지는 조각들로 분할 할 수 있는 것이 특징이다. 미들웨어 기능들을 제공하는 제3자 패키지를 쉽게 Express에 장착하여 특정기능을 추가한다.
app.use((req,res,next)=> {
console.log('In the middleware!');
next(); // <-
});
app.use((req,res,next)=> {
console.log('In another middleware!');
});
다음라인에 있는 미들웨어로 요청을 이동시키려면 next()를 호출해야 한다.
app.use('/',(req,res,next)=> {
res.send('<h1>Hello from Express!</h1>')
console.log('In the middleware!');
});
위에 코드를 작성하고 localhost:5000/ 또는 localhost:5000/aslkdgj 들어갔을때, Hello from Express!가 호출된다. 도메인 뒤에오는 전체 경로가 '/'라는 의미가 아니라 '/'로 시작해야 하기 때문이다.
app.use('/add-product',(req,res,next)=> {
res.send('<h1>Add Product Page!</h1>')
console.log('In the middleware!');
});
app.use('/',(req,res,next)=> {
res.send('<h1>Hello from Express!</h1>')
console.log('In the middleware!');
});
'/' 상위에 '/add-product' 코드를 짜고 localhost:5000/add-product 도메인으로 이동하면 상위 코드인 /add-product에서 요청을 처리하고 next()를 호출하지 않으므로, 하위 코드인 '/'는 요청을 처리할 기회를 상실한다.