[Node.js] Node.js 개념, 개발환경 세팅
업데이트:
💻공부 계획
인프런 따라하며 배우는 노드, 리액트 시리즈 - 기본강의(총 36강의)를 듣고 핵심 내용 포스팅 하기
목표: 일주일에 2회이상, 3강의 이상 듣 2020년 11월 안까지 완강하기
요약내용은 스터디에 공유할 것
Node.js
자바스크립트를 백엔드단에서 사용할 수 있는 언어
개발 환경
설치: https://nodejs.org/ko/ -> 최신 버전보다 좀 더 낮은 버전 다운로드
텍스트에디터: visual studio
설치 후, cmd
창에 node -v
를 입력하면 버전 뜸
package.json
워크스페이스로 사용할 폴더 생성 후 cmd
창에서 npm init
을 입력하면 package.json
이 자동 생성된다.
여기서는 패키지에 관한 정보와 의존중인 버전에 관한 정보를 담고 있다.
여기서, 의존성이란? 해당 프로젝트가 돌아가기 위해 필요한 npm 패키지들이다. npm은 하나의 커맨드로 프로젝트의 모든 의존성을 설치할 수 있다. 바로 이 의존성이 package.json에 저장되어 있다.
index.js
이후 index.js
파일을 만들어준다 => 백엔드 시작점이라고 생각
Express.js
Node.js를 쉽게 이용할 수 있게 해주는 프레임워크이다.
다운로드를 하기 위해 vscode terminal에 아래와 같이 입력한다.
--save
을 붙이게 되면 package.json
에 자동으로 express에 대한 정보가 저장된다.
node_module
다운 받은 dependencies(의존성)들은 다 이 폴더에서 관리된다.
기본적인 express.js 앱 만들기
expressjs사이트에서 예제 참고
const express = require('express') //다운받은 express모듈을 가져옴
const app = express() //새로운 express앱 만들기
const port = 5000 //서버로 둘 포트번호
app.get('/', (req, res) => { //루트디렉토리에서 출력되는 내용
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
index.js
파일에 위 코드 입력 후, package.json
에도 아래 코드를 추가한다.
그리고 terminal창에서 npm run start
입력하면 위에서 package.json에서 적은 start
이름의 스크립트를 실행하게 된다.
이후, 웹브라우저에서 http://localhost:5000/를 접속하면 출력내용이 확인되는 것을 볼 수 있다.
MongoDB
스키마가 없으면서 설정도 간단하고 빠른 성능을 가진 대표적인 NoSQL
CLUSTER(클러스터) 만들기
몽고 DB 사이트에서 회원가입 후 진행
‘Build a Cluster’로 클러스터 생성하여 클라우드 상에서 MongoDB를 만드는 과정임
AWS, 싱가포르 선택해서 클러스터 생성 후 유저 추가하기
유저 아이디, 비밀번호는 기억해야함! -> 나중에 앱과 연결할 때 사용됨
Mongoose 알아보기
몽고DB를 편하게 쓸 수 있는 Object Modeling Tool이다.
terminal창에서 npm install mongoose --save
를 입력하여 설치한다.
이 Mongoose를 이용해서 db에 연결하도록 하자.
const express = require('express') //다운받은 express모듈을 가져옴
const app = express() //새로운 express앱 만들기
const port = 5000 //서버로 둘 포트번호
///////////////추가
const mongoose = require('mongoose');
mongoose.connect('mongodb+srv://dovvn:ww2531@bolierplate.0sqns.mongodb.net/<dbname>?retryWrites=true&w=majority', {
useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false
}).then(() => console.log('mongoDB connect...'))
.catch(err => console.log(err))
///////////////추가
app.get('/', (req, res) => { //루트디렉토리에서 출력되는 내용
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
프로그램을 실행 하면 정상적으로 출력되는 모습을 볼 수 있다.
오늘의 공부 느낀점
Node.js는 학부 동아리 활동할때 잠깐 공부한 상태이고, 몽고디비도 처음 써보는 거라 강의를 듣는 내내 낯설었다.
이것도 반복해서 보다 보면 점점 익숙해 지겠지? 본격적으로 어플리케이션을 개발하는 날이 왔으면 좋겠다! 😀