티스토리 뷰
728x90
반응형
Backend에서 : front 서버 DB 연결해보기!
프런트 : axios를 통해서 서버에 요청할 수 있다.
백엔드 : express 모듈 서버에서 요청을 처리하는 웹서버를 만들기 위해 (http 모듈 대신에 간편하게 만든 모듈)
1. 폴더 경로에 모듈 설치 (쿠키 파서 익스프레스 세션 닷엔브)
npm i cookie-parser express-session dotenv
*npm은 nodejs설치 시 같이 깔린다.
https://nodejs.org/en/download/
Download | Node.js
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
nodejs.org
1. > app.js
라우터 연결
미들웨어 사용
모듈 불러오기
post / get
//app.js
const express = require('express')
//익스프레스는 http를 내장하고있어 서버연결이가능하다.
const path = require('path')
//패스 모듈을 가져와서 다른 파일 불러올수있다.
const morgan = require('morgan')
//미들웨어 편리하게 짜는 패키지
const bodyParser = require('body-parser') //req.body 함수 쓰기위해, post raw json {"name":"sm"}->이거 콘솔에 보여줌
const cookieParser = require('cookie-parser')
const session = require('express-session')//세션관리 미들웨어 : 로그인 : 사용자를 위한 데이터 임시 저장. req.session 객체안에 유지됨.
const dotenv = require('dotenv')
const { user } = require('pg/lib/defaults')
// const {sequelize} = require('./models')
// const { runInNewContext } = require('vm')
dotenv.config()
const indexRouter =require('./routes')
const userRouter =require('./routes/users')
const app = express()
app.set('port',process.env.PORT || 3000)
//app변수에 익스프레스 할당 : 서버역할을한다.
//ser 포트 설정('키', 값)
app.use(morgan('dev')) // (로그 나오게하는!!)모건 미들웨어 사용 dev -> GET / 200 7.303 ms - 12: [http매서드][주소][상태코드][응답속도]-[응답바이트]
app.use('/',express.static(path.join(__dirname,'public')))//static 미들웨어 (express안에서 꺼내씀)(요청경로,스태틱(실제경로,퍼블릭)) 경로 파일 퍼블릭으로 해 놓으면 폴더에 접근가능하다.
app.use(express.json()) // 데이터 처리 : 제이슨을 받기위한. 고정적으로 쓴다, res.body
app.use(express.urlencoded({extended:false})) //제이슨 처리 고정적으로 쓴다.쿼리스트링을 사용하여 해석한다. res.body에 저장
app.use(cookieParser(process.env.COOKIE_SECRET))//프론트 -> 서버 요청보낼때 이름 비번 암호화해서 요청보낸걸 가로채서 해석해서 쿠키로 저장
app.use(session ({
resave: false,
saveUninitialized:false,
secret: process.env.COOKIE_SECRET,
cookie: {
httpOnly:true,
secure:false,
},
name: 'session-cookie'
}))
app.use('/',indexRouter)//라우터 연결
app.use('/users',userRouter)
app.use((req,res,nect) =>{
res.status(404).send('낫파운드에러')
})
//패키지를 연결해줘야한다. app.use 사용
app.use((req,res,next)=>{
console.log('모든요청에 다 실행됩니다')
next()
})
app.listen(app.get('port'),()=>{
console.log(app.get('port'),'번 포트에서 대기중');
})
728x90
반응형
'Web > Backend_node.js기초' 카테고리의 다른 글
Express : 라우터 관리 (0) | 2022.02.07 |
---|---|
Node.js_Express 모듈 / 미들웨어 (0) | 2022.02.04 |
Node.js_ htt 모듈 (0) | 2022.02.04 |
Node.js _ 노드 내장 객체 / 노드 내장 모듈 (0) | 2022.02.04 |
Node.js_시작 . (0) | 2022.02.04 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- TouchDesigner
- 라즈베리파이
- three.js
- MQTT
- imgtoimg
- unity 360
- Express
- Java
- node.js
- docker
- Python
- 후디니
- AI
- Midjourney
- 유니티
- VR
- motor controll
- DeepLeaning
- emotive eeg
- CNC
- ardity
- opencv
- RNN
- sequelize
- Unity
- 유니티플러그인
- oculuspro
- houdini
- Arduino
- colab
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함
반응형