1. express 를 설치하자
> npm init
> npm i express
> npm i -D nodemon
을 하자 그럼 package.json의 dependencis 에 추가가 될 것이다.
nodemon은 서버 코드에 수정 사항이 생길때마다 서버를 자동 재시작 시켜준다.
(nodemon 이 실행되는 콘솔에 rs 입력해서 수동으로도 재시작이 가능하다.)
주의!! : scripts 항목에 "start ":"nodemon app" 이 있나 확인하자
2. express 에 대한 설명
express 에는 http 모듈이 내장되어 있다.
express().set('port',포트번호)
로 실행 포트를 설정할 수 있다. 포트번호 설정시
process.env.PORT || 포트번호 기본값
로 process.env.PORT 에 PORT 속성이 있으면 그 값을 사용하고, 없다면 포트번호 기본값 을 사용한다.
-1. express().set( '키' , '값' )
으로 데이터를 저장할 수 있고 나중에 express().get('키') 로 값을 가져올 수 있다.
-2. 요청과 메소드들
epxress().get(주소, (req,res)=>{ 전송할 내용들 })
epxress().post
epxress().put
epxress().patch
epxress().delete
epxress().options
가 존재한다.
-3. res.send()
express 에서는 res.end() , res.write() 를 쓸 필요가 없다.
res.end() 를 대신 사용하면 된다.
-4. 포트의 설정
express().listen(포트번호)
로 받는 포트를 설정 할 수 있다.
-5. 내용의 전달
우선 path 모듈이 필요하다. require('path') 를 꼭 하자
get과 같은 메소드에서 전송할 내용들을 작성해보자
res.sendFile(path.join( __dirname , '/전송할 파일' )) ;
참고로 __dirname 은 현재 디렉토리 이름
__filename 은 현재 파일이다.
3. 미들 웨어의 사용시 (p233)
a> express().use((req, res, next) =>{ 미들웨어 내용})
b> express().use('요청 rul' , (req, res, next) =>{ 미들웨어 내용 })
c> express().get('요청 url' , (req, res, next) =>{ 미들웨어 내용 })
d> express().use((err,req,res,next)=>{ 에러 처리 내용 } )
-1.설명
b 처럼 url 이 있으면 특정 url에 대한 요청이다.
a 처럼 url 이 없으면 모든 요청에 대해 실행된다.
c 처럼 get, post 등의 메소드들이 있다.
next() 로 다음 미들웨어로 넘어갈 수 있다.
d처럼 에러 처리는 파라미터를 4개 받아야만 한다.
4. 쿠키에 관련된 제어
-1. npm i morgan cookie-parser express-session dotenv
dotenv 를 제외하고는 다 미들웨어이다.
--1. morgan : 로그를 더 자세히 볼 수 있다.
--2. static : 정적 파일들을 제공하는 라우터 역할이다. (p237)
app.use('요청경로' , express.static('실제경로')
--3. body-parser (p238)
요청 본문의 데이터를 req.body 객체로 만들어준다.
보통 ajax 요청 데이터 처리 시 사용한다.
단 multipart 데이터는 처리 못한다.
주로 text나 버퍼 데이터인 raw 데이터 처리시 사용한다.
npm i body-parser 로 추가할 수 있다.
express().use(express.json())
express().user(express.urlencoded({extend : false}) )
extend 가 false 면 노드의 querystring 모듈을 사용해 해석하고
true 면 노드의 qs 모듈을 사용한다. qs 는 npm 패키지고 querystring 모듈의 확장판이다.
body-parser는 post와 put 요청시에도 편리하다.
--4. cookie-parser (p239)
express().use(cookieParser('비밀키') )
비밀키를 제공하여 내 서버가 만든 쿠키임을 검증 할 수 있다.
비밀키는 .env 에 COOKIE_SECRET 항목으로 입력하면 된다.
서명을 쿠키 값 뒤에 붙이며, 서명된 쿠키는 req.signedCookies 객체에 들어있다.
또, 쿠키의 생성은 res.cookie() 로 제거는 res.clearCookie() 를 사용해야 된다.
--5. express-session(p240)
세션은 사용자별로 req.session 객체 안에 유지된다.
'웹 > node.js' 카테고리의 다른 글
package.json 과 express 설치하기 (0) | 2021.03.30 |
---|