[Node.js] Express + MongoDB part#1 설치 및 기본 사용법

Duboo·2022년 9월 28일
2

Server + DB

목록 보기
1/6
post-thumbnail

Node.js

Node.js는 확장성 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼
org : Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임(runtime)입니다.

runtime

프로그램이 실행되고 있을 때 존재하는 곳을 뜻함 즉, "환경"으로 웹 브라우저만이 JS를 실행할 수 있는 유일한 런타임이 였지만 node.js를 사용하여 서버사이드에서도 새로운 런타임 환경을 사용할 수 있습니다.

Node.js 설치

node 설치에서 OS에 맞춰서 설치할 수 있고 최신버전보다는 LTS 버전을 사용하는게 안전

node -v
터미널에 명령어를 통해 설치 확인 및 버전을 체크


Express

node.js를 사용해 서버를 개발할 때, 보다 쉽게 사용할 수 있게 도와주는 웹 어플리케이션 프래임워크

  • 익스프레스를 사용하기 위한 서버폴더로 이동 index.js 혹은 server.js 파일 생성

  • npm init 명령어로 package.json 생성

    • npm init은 새로운 혹은 존재하는 package를 설치하기 위해서도 사용
  • npm i express 명령어로 익스프레스 설치

package.json

"dependencies": {
    "express": "^4.18.1",
}

Notice 👇
npm5 버전 이상부터는 package.jsondependencies에 추가하기 위해서npm i express --save 처럼 --save 옵션을 추가하지 않아도 자동으로 dependencies에 등록됩니다.

npm i express --dev 혹은 npm i express -D 처럼 --dev, -D 옵션은 devDepndencies에 패키지를 등록합니다.

  • dependencies: 에 위치한 항목들은 프로젝트에 의존성을 가지고 있는 모듈로 필요하다는 의미
  • devDependencies: 에 위치한 항목들은 프로젝트에 의존성을 가지고 있지 않고 개발 환경에서 사용될 모듈이란 의미

devDependencies에서 대표적으로 사용하는 노드몬을 설치
npm i nodemon -dev 노드몬은 코드의 변경이 일어나면 서버를 종료했다 다시 시작하는 번거로움을 없애주는 툴로 코드 변경시 서버를 다시 시작해준다.

  "scripts": {
    "start": "node index.js",
    "nodemon": "nodemon index.js",
  },

사용법은 위처럼 스크립트에 노드몬을 추가해준다.


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}`)
})

익스프레스 문서에 나와 있는 기본 사용법으로 3000번 포트는 클라이언트 개발에 사용되기 때문에 5000으로 변경해줍니다.

package.json

 "scripts": {
    "start": "node index.js",
  },

package.json"scripts"에 노드를 실행시키는 명령어를 추가합니다.

서버 실행을 위해 터미널에 명령어 입력 npm run start

url에 http://localhost:5000 검색해 Hello World!가 나오는지 확인


MongoDB

MongoDB 회원가입

MongoDB를 사용하기 위해서 클러스터(CLUSTER)User를 생성합니다.

클러스터가 생성되면 클러스터 박스안에 Connect 클릭

Connect your application 클릭

2번의 url 복사

Mongoose

node.js에서 express를 사용하여 서버를 보다 편하게 개발하듯 MongoDB를 보다 편하게 사용하기 위한 툴

다시 코드로 와서 Mongoose 이용해서 DB를 연결하기 위해서 설치
터미널에 npm i mongoose 입력

Index.js

const mongoose = require("mongoose");
mongoose
  .connect(
    "복사한 url과 id/password"
  )
  .then(() => console.log("MongoDB 연결 성공..."))
  .catch((err) => console.log(err));

위와 같이 입력한다

connect두번째 인자로 옵션을 주지만 몽구스 버전이 6.0 이상이라면 몽구스는 항상 useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false, 로 기억하고 실행하기 때문에 더이상 지원하지 않는다

npm run start 명령어로 서버를 실행하고 "MongoDB 연결 성공..."이 나오는지 확인


터미널에 위와 같이 express && mongoose가 정상적으로 확인되는지 확인

profile
둡둡

0개의 댓글