NPM(Node package manager)은 이름에서 알 수 있듯이, Node.js 개발의 편의를 위해 다양한 모듈들을 모아둔 패키지이다. 대부분의 Node.js 백엔드 개발자들인 이 NPM 패키지를 설치해서 사용하고 있다.
설치
우선 NPM을 설치하기 위한 임의의 폴더 하나를 생성한다. 터미널 창에서 아래의 코드를 입력한다.
npm init
설치가 끝나면 package.json
이라는 파일이 생성된 것을 볼 수 있다. 설치 과정 중 터미널에서 name을 비롯한 몇 가지를 물어보는데 입력하지 않고 엔터를 쳐도 무방하다.
package.json
{
"name": "npm-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"hello": "echo hello",
"설명": "echo 여기에 서버 실행을 위한 명령어를 넣음"
},
"author": "나야나",
"license": "ISC"
}
package.json은 Node.js NPM의 버전과 의존성을 관리하기 위한 파일이다.
이 중 나중에 서버를 운영하게 된다면, 생성된 오브젝트의 scripts
라는 키에 서버 실행을 위한 명령어를 넣는다.
이제 다시 터미널 창에 npm run test
라는 명령어를 입력하면, scripts
의 test
키를 가진 값이 실행된다.
여기서 echo
는 JavsScript에서 console.log()
의 개념으로 이해해도 무방하다.
npm run hello
를 입력하면 hello
가 나올 것이고,npm run 설명
을 입력하면 여기에 서버 실행을 위한 명령어를 넣음
이 나올 것이다.
Express
이제 Express를 설치해보자.
Express는 Node.js에서 웹 서비스를 쉽게 해주는 웹앱 프레임워크이다. Node.js와 Express로 강력한 웹 서비스를 쉽게 개발할 수 있다.
npm install express
npm install -D nodemon
npm install -g express-generator
nodemon은 -D를 붙여 개발환경에서만 사용할 수 있게 설치하였고, express-generator는 Express의 기본 구조를 만들어주는데 -g를 붙여 전역에서 이 패키지를 사용할 수 있도록 설치했다.
프로젝트 시작
이제 본격적으로 간단한 프로젝트를 시작해보자.
밑 작업
터미널 창에서 아래 명령어를 입력하여, NPM-Express, NPM-Express-Generator, Nodemon을 설치한다.
npm install -g express express-generator nodemon
그리고 아래 명령어를 입력하여 first-project
란 이름의 프로젝트를 생성할 수 있다. 해당 명령어를 실행하면, 현 위치에 first-project라는 폴더가 생긴 것을 확인할 수 있다.
express --ejs first-project
터미널에서 first-project로 디렉토리를 옮긴 후 npm install
을 입력하면, first-project 안에 내용이 채워지고 모든 준비가 끝난 것이다.
여기서, package.json을 살펴보자.
{
"name": "first-project",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"ejs": "~2.6.1",
"express": "~4.16.1",
"http-errors": "~1.6.3",
"morgan": "~1.9.1"
}
}
scripts 키의 오브젝트 안에 start라는 키에 "node ./bin/www"
라는 값이 있는 것을 볼 수 있다. 이제 아까 배웠던 것처럼, 터미널 창에 npm run start
라고 입력해서 서버를 실행한다. 그리고 브라우저에서 localhost:3000
으로 접속해보자.
nodemon
지금 보고 있는 페이지는 first-project 안의 views\index.ejs가 보여지는 것이다.
이 파일을 수정해 웹 서버를 실행할 수 있다. 그런데 파일을 수정하고 저장해도 바로 반영되지 않는다. 서버를 껐다가 다시 켜야 반영되기 때문이다. 터미널 창에서 Ctrl+C를 눌러 서버를 종료하고, 다시 서버를 실행하면 변경된 모습을 볼 수 있다. 하지만 작업마다 서버를 끄고 켜서 수정 내용을 확인한다는 것은 매우 불편한 일일 수 밖에 없다.
이를 해결하기 위해, Nodemon을 설치한 것이다.
Nodemon은 서버를 껐다 켜지 않아도 변경된 내용을 반영하게 해주는 패키지이다.
이제 터미널 창에 npm start
대신, nodemon ./bin/www
을 입력해보자.
브라우저에서 마찬가지로 서버가 실행 중인 것을 볼 수 있으며, index.ejs를 수정하고 저장한 뒤 바로 브라우저에서 새로고침을 하면 저장 내용이 반영된 모습을 볼 수 있다.
하지만 매번 nodemon으로 실행하기 위해 복잡한 명령어를 입력하기란 귀찮은 일이다.
package.json에서 scripts key 부분을 아래와 같이 바꿔주면, npm start
만으로도 nodemon으로 서버를 실행시킬 수 있다.
"scripts": {
"start": "nodemon ./bin/www"
},
'CODE > Back-end' 카테고리의 다른 글
Prisma와 PlanetScale - [1] ORM (0) | 2022.06.09 |
---|---|
multer로 이미지 업로드 기능 만들기 (0) | 2022.01.01 |
HTTP Method를 활용한 요청 및 응답 (0) | 2022.01.01 |
API 서버 만들기 (0) | 2021.12.31 |
Node.js (0) | 2021.12.27 |
댓글