개발자를 향해...
[노드 리액트 기초 강의] #1 소개 ~ #5 GIT 설치 본문
본 글은 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의 를 수강하며 작성하였습니다.
#2
node js - 자바스크립트를 서버사이드에서 쓸 수 있는 언어.
express js - node js를 이용해 웹사이트나 어플리케이션을 쉽게 만들 수 있게 해줌.
원하는 경로에 폴더를 생성하고 폴더로 가서 npm init 을 실행한다. VScode에서 열어보면 패키지 파일이 설치된것을 볼 수 있다.
여기에 express js를 설치하기 위해 터미널을 켜서 npm install express --save를 실행시키면 패키지 파일에 express가 추가된것을 볼 수 있다.
index.js파일을 생성하고 다음 코드를 넣어준다.
const express=require('express')
const app=express()
const port=5000
app.get('/',(req,res)=> res.send('Hello world!'))
app.listen(port,()=> console.log(`Example app listening on port ${port}`))
그리고 package.json의 스크립트에
"scripts": {
"start": "node index.js",
}
이를 추가하고 npm start를 실행하고 브라우저에서 5000번 포트로 들어가면 다음과 같은 페이지가 잘 실행되는 것을 알 수 있다.
#3 몽고DB연결
몽고db 사이터에 들어가 클러스터를 생성한다. 클러스터를 생성하고 유저 이름과 아이디를 만들고나서 Add your connection string into your application code 의 주소를 복사하여 코드의 아무데나 주석으로 넣어놓는다.
이제 mongoose를 설치한다. npm install mongoose --save를 터미널에 실행시킨다. 그리고 index.js에 다음 코드를 추가한다.
const mongoose =require('mongoose')
mongoose.connect(' mongodb+srv://(몽고디비주소)', {
useNewUrlParser:true, useUnifiedTopology:true, useCreateIndex:true,useFindAndModify:false
}).then(()=> console.log('몽고디비 연결됨....'))
.catch('mongoodb error')
#4 MongoDB Model & Schema
모델은 스키마를 감싸주는 역할이고 , 스키마는 디비의 구조를 이야기한다.
파일에 스키마를 만들어보자. 우선 다음과 같이 모델 폴더와 하위에 유저파일을 생성해보자.
User.js에 다음과 같은 코드를 작성한다.
const mongoose =require('mongoose');
const userSchema=mongoose.Schema({
name:{
type:String,
maxlength:50
},
email:{
type:String,
trim:true,
unique:true
},
lastname:{
type:String,
maxlength:50
},
role:{
type:Number,
default:0
},
image:String,
token:{
type:String
},
tokenExp:{
type:Number
}
})
const User =mongoose.model('User', userSchema)
module.exports={User}
#5 Git 설치
git 이 설치되어있으므로 설치 과정은 건너뛴다.
gitignore이라는 파일을 새로 생성한다.
그리고 git init > git add . > git commit -m "(커밋메세지내용)" 순서로 터미널에서 실행해준다.
다음시간에 깃에 본격적으로 올려보자.
'웹 자바스크립트 공부 > ReactJS + node.js' 카테고리의 다른 글
[노드 리액트 기초 강의] #11 로그인 기능 with Bcrypt (1) ~ #14 로그아웃 기능 (0) | 2021.02.15 |
---|---|
[노드 리액트 기초 강의] #6 SSH를 이용해 GITHUB 연결 ~ #10 Bcrypt로 비밀번호 암호화 하기 (0) | 2021.02.13 |
[ReactJS로 영화 웹 서비스 만들기] #6 ROUTING BONUS (0) | 2021.02.10 |
[ReactJS로 영화 웹 서비스 만들기] #5 CONCLUSIONS (0) | 2021.02.08 |
[ReactJS로 영화 웹 서비스 만들기] #4 MAKING THE MOVIE APP (0) | 2021.02.08 |