이번엔 node.js 의 프레임워크인 express에 대해 공부해봤다.
https://expressjs.com/ko/
Express - Node.js 웹 애플리케이션 프레임워크
Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크 $ npm install express --save
expressjs.com
프레임워크와 라이브러리의 차이점은 제어의 주체라고 알고있다.
express는 프레임워크기 때문에 express에서 주는 틀대로 사용해야
앱이 잘 동작하게 할 수 있다.
express에 사용방법에 대해 알아보자
일단 터미널에서 express 패키지를 설치한 후
npm i express
js 를 작성
const express = require('express');
const app = express();
console.dir(app);
index.js 에 코드를 작성하고
터미널에
node index.js
실행해보면 express 메소드 목록이 나온다.
그 중 서버를 만드는데 필요한 몇 가지를 알아보려고 한다.
# listen
const express = require('express');
const app = express();
const port = 3000;
app.listen(port, ()=>{
console.log(`포트 번호 : 3000`)
});
터미널에서 실행시켜보면

앱이 종료되지 않는다.
요청을 기다리는 상태가된다.
이상태로 브라우저 URL에 localhost:3000을 입력해보면


이라는 화면이 출력된다.
서버는 있는데 요청이 없기 때문이다.
# use
use 메소드는 요청이 들어오면 콜백이 실행된다.
get, post 상관없다.
요청이라면 모두 동작한다.
const express = require('express');
const app = express();
const port = 3000;
app.use(()=>{
console.log('request');
})
app.listen(port, ()=>{
console.log(`포트 번호 : 3000`);
});
이제 node로 실행시키고
localhost:3000에 접속해보면

use 콜백함수가 실행된것을 확인할 수 있다. (접속할 때마다 실행됨)
아직 응답이 없어서 무한 로딩인 상태이다
서버를 실행했지만 요청이 서버에 도착했을 때
대응할 응답이 없기 때문이다.
이제 응답할 방법이 필요하다.
app.use((req, res)=>{
console.log('request');
})
바로 req(요청), res(응답) 객체이다.
이름은 사실 상관없다
express에서 http요청을 파싱해 전달할 객체로 변환해준다.
그 중 응답에 send 라는 메서드가 있다.
const express = require('express');
const app = express();
const port = 3000;
app.use((req, res)=>{
console.log('request');
res.send('<h1>hello express</h1>');
})
app.listen(port, ()=>{
console.log(`포트 번호 : 3000`);
});
send 에는 자바스크립트 객체가 전달된다.
이제 노드를 실행시켜보면

h1 태그에 작성된 텍스트가 응답으로 잘 나온것을 볼 수 있다.
'nodejs' 카테고리의 다른 글
[node.js / express] 쿼리 문자열 (0) | 2023.05.08 |
---|---|
[Node.js] express 라우팅 기초(get 요청, post 요청) (0) | 2023.05.03 |
[node.js] install, init, node_modules, package.json (0) | 2023.05.01 |
[node.js] module.exports (0) | 2023.04.28 |
[node.js] process, file system(fs) (0) | 2023.04.22 |