-
노드 Express 웹 서버 시작하기노드 2023. 4. 17. 15:47
Express 소개
http 모듈로 웹 서버를 만들 때 코드가 보기 좋지 않고, 확장성도 떨어짐
- 프레임워크로 해결
- 대표적인 것이 Express, Koa, Hapi
- 코드 관리도 용이하고 편의성이 많이 높아짐
package.json 만들기
직접 만들거나 npm init 명령어로 생성하면 된다.
- nodemon은 소스 코드 변경 시 서버를 재시작해준다.
//package.json { "name": "learn-express", "version": "0.0.1", "scripts": { "start": "nodemon app" }, "devDependencies": { "nodemon": "^2.0.3" }, "dependencies": { "cookie-parser": "^1.4.5", "express": "^4.17.1", "express-session": "^1.17.1", "morgan": "^1.10.0" } }
이것을 package.json이란 파일을 만들어서 직접 적어도(직접 작성한 후에는 npm i를 해주자) 되고 아니면
npm i express
npm i -D nodemon
으로 만들어 주면 된다.
app.js 작성하기
서버 구동의 핵심이 되는 파일
- app.set('port', 포트)로 서버가 실행될 포트 지정
- app.get('주소', 라우터)로 GET 요청이 올 때 어떤 동작을 할지 지정
- app.listen('포트', 콜백)으로 몇 번 포트에서 서버를 실행할지 지정
//app.js const express = require('express'); const path = require('path'); const app = express(); app.set('port', process.env.PORT || 3000); app.get('/', (req, res) => { res.send('Hello, Express'); //res.sendFile(path.join(__dirname, '/index.html')); }); app.listen(app.get('port'), () => { console.log(app.get('port'), '번 포트에서 대기 중'); });
http 모듈로 서버를 만들때와 거의 비슷하다.
그리고 요청했을 때의 url이 밖으로 꺼내져 있는 것을 볼 수 있다.
이말은 즉슨, http 때처럼 요청에 대한 처리를 if ~else if 로 처리해 주지 않아도 된다는 소리다.
또한 nodemon을 통해 실행하면 코드의 변경이 있을 때마다 서버를 껏다 켯다 하지 않아도 된다. 실행할때 nodemon app을 하면 된다.
'노드' 카테고리의 다른 글
노드 미들웨어 사용하기 (0) 2023.04.17 노드 express로 html 서빙하기 (0) 2023.04.17 npm 배포하기 (0) 2023.04.14 노드 npm 명령어 (1) 2023.04.14 노드 node_modules 와 npx, SemVer (1) 2023.04.14