오늘 배운 것
- 쿠키
const http = require('http')
const server = http.createServer((req, res) => {
console.log(req.url, req.headers.cookie)
res.writeHead(200, { 'Set-Cookie': 'mycookie=test' })
res.end('cookie example')
})
server.listen(3000)
server.on('listening', () => {
console.log('3000번 포트에서 쿠키 서버 실행 중')
})
server.on('error', err => {
console.error(err)
}
)
- 세션
- 패키지매니저
-npm
- express, morgan, express-session, nodemon 설치
- npx nodemon (전역 처리 => 실시간으로 서버랑 동기화가 가능한듯)
-yarn
- 미들웨어 : 요청과 응답 중간에서 조작하는 역할
-경로 확인을 잘 하자...
문제 : npx nodemon index 명령어가 실행이 안됨
에러메시지 확인
PS C:\Users\user\Desktop\Backend code\nodejs\211215> npx nodemon index
[nodemon] 2.0.15
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index index.js`
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module 'express'
Require stack:
- C:\Users\user\Desktop\Backend code\nodejs\211215\index.js
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:93:18)
'C:\\Users\\user\\Desktop\\Backend code\\nodejs\\211215\\index.js'
]
}
[nodemon] app crashed - waiting for file changes before starting...
^C일괄 작업을 끝내시겠습니까 (Y/N)? y
PS C:\Users\user\Desktop\Backend code\nodejs\211215> npx nodemon index
Usage: nodemon [nodemon options] [script.js] [args]
See "nodemon --help" for more.
저 메세지를 한 다섯번은 본 것 같다.
코드에 오타가 있나 싶어서 괜히 코드만 몇번 더 읽어보다 문득 눈에 들어온 경로...
정리하려고 npm 폴더를 새로 만들어서 index, package.json 등 파일을 모두 옮겨놓고 이동을 안했다...
아...깨닫고 이동하고 나서 실행해보니 아주 잘 실행됐다.
PS C:\Users\user\Desktop\Backend code\nodejs\211215> cd npm
PS C:\Users\user\Desktop\Backend code\nodejs\211215\npm> npx nodemon index
[nodemon] 2.0.15
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index index.js`
3000 번 포트에서 서버 실행 중
[nodemon] restarting due to changes...
[nodemon] starting `node index index.js`
3000 번 포트에서 서버 실행 중
모든 요청에서 다 실행됩니다.
- morgan : 무슨 로그가 들어왔는지 확인 가능 (GET / 304 6.411 ms - -)
dev : 개발할 때 주로 사용
combined : 좀 더 자세히 나옴
- express.static : 정적 파일에 접근 가능(주소창에 확장자까지 쓰는 것 잊지 말아야)
/ 주소로 시작해서 public 폴더에 해당하는 파일 접근 가능

- express.json, express.urlencoded : 들어온 데이터 처리하는 기능
json 요청이 들어오면 json 그대로 처리
- multer : 이미지, 동영상 등 멀티미디어 파일들을 업로드 할 때 사용되는 미들웨어
설치 : npm i multer
업로드 부분 코드
- Router 객체로 라우팅 분리하기
요약하자면 routes 폴더 안에 index, user.js 만들고 폴더 밖에 app-route.js를 만들어서 분리했다.(express.Router())
app-route 코드 기록
const express = require('express')
const app = express()
const indexRouter = require('./routes') //=./routes/index (index는 기본으로 그냥 ./routes로 해도 읽음)
const userRouter = require('./routes/user')
app.use('/', indexRouter)
app.use('/user', userRouter)
app.listen(3000, () => {
console.log('3000번 포트에서 서버 실행 중!')
})
- 공부는 response, request 두 개가 중요하니 중점적으로!
- Sequelize
: DB랑 연결
: 데이터 타입
코드로 테이블 만들기 : npm i로 npm 설치 후
npm init //package.json 생김
npm i express morgan sequelize sequelize-cli postgres (=> 필요한 모듈 설치)
npm install nodemon --save-dev (=>nodemon 설치)
npm start
마지막에는 pgAdmin4, Postman를 서로 연동하는 걸 해봤다.

'공부 > [TIL] Digital Twin Bootcamp' 카테고리의 다른 글
TIL_211221_Frontend (0) | 2021.12.21 |
---|---|
TIL_211220_Frontend (0) | 2021.12.20 |
TIL_211217_Frontend (0) | 2021.12.17 |
TIL_201216_Frontend (0) | 2021.12.16 |
TIL_211214_BACKEND (0) | 2021.12.14 |