반응형
node로 url을 받아 데이터를 보내줄때 한 파일에 모두 작성하면 파일이 보기 힘들고 관리가 어려워집니다.
그래서 url을 보고 정리할 수 있도록 도와주는게 router인데 미 모듈을 사용해 보도록 하겠습니다.
파일 구성
다음과 같이 메인 server.js 파일이 있고 routing할 것은 routes 폴더를 만들어 test.js 파일로 관리해 보겠습니다.
최대한 간단하게 다음으로 파일을 구성합니다.
서버가 localhost:5000 이라고 가정하겠습니다.
우리가 http://localhost:5000/test/test1 , http://localhost:5000/test/test2 라는 요청을 한다고 할 때 다음의 파일을 보고 설명하겠습니다.
server.js
const express = require('express');
const app = express();
const test = require('./routes/test'); // 아래에 만든 라우터 파일 가져오기!
const port = 5000; // 포트 넘버
app.use('/test', test); // 라우터 연결
// 포트 설정
app.listen(port, () => console.log(port));
app.use는 http://localhost:5000/test 로 들어온 파일들을 test로 연결해 줍니다.
그러면 우리가 요청한 두개의 url은 모두 test에서 처리가 되겠죠?
test.js
const express = require('express');
const router = express.Router(); // 라우터 import
router.get('/test1', (req, res) => { // http://localhost:5000/test/test1 처리
res.send('응답 1');
});
router.get('/test2', (req, res) => { // http://localhost:5000/test/test2 처리
res.send('응답 2');
});
module.exports = router;
그러면 이제 http://localhost:5000/test 뒤에 붙은 /test1과 /test2를 가지고 데이터를 처리하게 됩니다.
http://localhost:5000/test/test1 -> 응답 1
http://localhost:5000/test/test2 -> 응답 2
이렇게 url을 원하는대로 분리해 처리할 수 있게 됩니다.
반응형
'개발 > Web' 카테고리의 다른 글
[React] react-cookie를 이용해 쿠키 관리하고 로그인 인증하기 (0) | 2022.01.12 |
---|---|
[Node.js] jwt토큰 발급과 인증 (jsonwebtoken 라이브러리) (0) | 2022.01.12 |
[React] (Proxy) 리액트와 노드 다른 포트 통신 설정 (1) | 2022.01.10 |
[React] 리액트, 노드 연동하기 (프론트, 서버) (0) | 2022.01.10 |
[React] 조건에 따라 요소를 보이게 하거나 숨기기 (&&, || 연산자) (0) | 2022.01.09 |