
라우팅은 URI(또는 경로) 및 특정한 HTTP 요청 메소드(GET, POST 등)인 특정 엔드포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것을 말합니다.
app.METHOD(PATH, HANDLER)
const app = require('express') // express인스턴스를 생성
app.get('/', (req, res) => {
res.send('hi')
})
//HTTP요쳥 메소드get의 첫번째 인자로 서버 경로를 지정, 두번째는 서버경로가 일치할때 실행되는 함수를 정의합니다.
지정된 미들웨어 함수(callback)를 지정된 경로에 마운트합니다. 미들웨어 함수는 요청된 경로의 기준이 경로와 일치할 때 실행됩니다.
매번 app.get(path, handler)를 지정하기보단 경로가 같은 라우터로 관리해 주는 것이 좋습니다.

routes 폴더를 만들고 contacts.js 파일을 생성해 줍니다.
const express = require('express')
const rounter = express.Router()
rounter.get('/', (req, res) => {
res.send('contacts!')
})
rounter.get('/list', (req, res) => {
res.send('contacts list')
})
module.exports = rounter
contacts.js 다음과 같이 작성한 후 최상위인 app.js 파일에 다음과 같이 작성합니다.

const express = require('express');
const contacts = require('./routes/contacts') //파일경로
const app = express();
const port = 3000;
app.get('/', (req,res) => {
res.send('hello');
});
app.use('/contacts', contacts)
// /contact이후 경로는 contacts파일을 참고해라
app.listen( port, () => {
console.log('Express listening on port', port);
});

