http 모듈만 사용해도 라우터를 구현할 수 있지만, 더 쉽게 하기 위해서 express 모듈을 사용한다.
라우터는 경로를 지정해주는 것을 뜻한다.
express 모듈 설치하기
터미널을 켠다. ( Ctrl + ` )
원하는 경로에서 npm init 명령어를 실행하고, 각종 설정 값을 입력한다.
우리가 패키지를 다운받으면, 패키지마다의 버전 등을 관리하는 파일이 필요하다.
npm init 명령어를 사용하면, package.json 파일을 만들어준다.
express 모듈을 설치한다. 뭔가 다운로드 되는 느낌이 난다.
모듈이 추가된 것을 볼 수 있다. (폴더랑 파일이 추가되었고, package.json에 적혀있음.)
서버를 실행할 때, "node (파일 이름)" 명령어를 입력하면 된다고 했었다.
2021.06.04 - [프로그래밍/NodeJS] - [NodeJS] 서버 실행해보기 (이 글 밑쪽에 있음.)
package.json 파일에 추가해놓으면, "npm start" 명령어로 대체해서 사용할 수 있다.
express 모듈 사용하기
간단하게는 이렇게.
// 모듈 추출 (가져오기).
const http = require('http');
const express = require('express');
// express 객체 생성.
const app = express();
// 응답 로직 작성.
app.use(function(req, res, next) {
res.writeHead(200, {'Content-Type':'text/html'});
res.end('<h1>NodeJS Server</h1>');
next(); // 다음 함수로 요청함. 안 쓰면, 밑에 있는 함수인 '응답 발생.' 문구가 안 뜸.
});
app.use(function(req, res) {
console.log('응답 발생.');
});
// 서버 생성 (http).
const server = http.createServer(app);
// 요청 대기.
server.listen(5000);
// 실행 로그.
console.log('서버 실행 중...');
경로를 나누려면, 라우터를 사용해서 이렇게.
// 모듈 추출 (가져오기).
const http = require('http');
const express = require('express');
// express 객체 생성.
const app = express();
// 라우터 생성.
const router = express.Router();
const routerB = express.Router();
// 라우터 설정.
// 경로 설정.
router.get('/', function(req, res) { // 경로 : localhost:5000/
// 파라미터 확인.
console.log(req.query); // 경로를 localhost:5000/?name=mingyu&age=20 입력하면 { name: 'mingyu', age: '20' }로 출력된다.
// 원래 res.writeHead(200, {'Content-Type':'text/html'}); 이런거 썼었는데,
res.send('Main Page'); // 얘는 알아서 파악해서 자동으로 넣어 줌. 수동으로 해줘야 하는 것도 가끔 있다.
});
router.get('/start', function(req, res) { // 경로 : localhost:5000/start
res.send('Start Page');
});
// 라우터B 설정.
routerB.get('/', function(req, res) { // 경로 : localhost:5000/b
res.send('Main Page B');
});
routerB.get('/start', function(req, res) { // 경로 : localhost:5000/b/start
res.send('<h1>Start Page B</h1>');
});
// 라우터 사용 설정.
app.use('/', router);
app.use('/b', routerB); // routerB는 default 경로가 localhost:5000/b 이다.
// 서버 생성 (http).
const server = http.createServer(app);
// 요청 대기.
server.listen(5000);
// 실행 로그.
console.log('서버 실행 중...');
서버를 켜고, 접속해보면 이렇게 뜬다.
'기타 > NodeJS' 카테고리의 다른 글
[NodeJS] cookie-parser 모듈로 쿠키 구현하기 (0) | 2021.06.11 |
---|---|
[NodeJS] 서버 실행해보기 (0) | 2021.06.04 |
NodeJS 하기 전에 JavaScript 문법 훑어보기 (2) | 2021.06.03 |
[NodeJS] NodeJS 설치 / VSCode 설치하기 (2) | 2021.06.03 |
NodeJS 하기 전에 기초 지식들 (0) | 2021.06.03 |