[nodeJS] Express setup

Leejunyoung·2023년 8월 23일

nodeJS

목록 보기
3/6
post-thumbnail

전 섹션에서 npm 명령어에 대해 짧게 소개했었다.

이번엔 이 명령어들을 가지고 express를 setup하는 시간을 가져보자.

express를 사용하기 전 우리는 몇 가지를 설치하고 setup 해야 한다.

그 전에 알아야 할 것이 있다. 그건 package.json이라고 하는 것인데,

🤔 package.json 이란?
Node.js 프로젝트의 메타데이터 및 의존성 정보를 담고 있는 JSON(JavaScript Object Notation) 형식의 파일이다. 이 파일은 프로젝트 루트 디렉토리에 위치하며, 프로젝트의 구성, 의존성 패키지, 스크립트 명령 등을 기록하는 중요한 역할을 한다.

다시 말해 프로그래머, 개발자가 파일에 정보를 저장하기 위해 만든 파일이다.

{
  "name":"wetube"
}

이런 형식의 코드로 작성되어 있고, npm으로 모듈이나 라이브러리를 설치하게 되면 알아서 추가해준다.
물론 단순 text 파일이기 때문에 우리가 직접 수정해도 된다.

자 이제 package.json도 알았으니 본격적으로 express를 설치해보도록 하자.

준비된 빈폴더를 VSCode로 열어서 터미널 창에 npm init을 해주자.

명령어를 실행하면 위와 같이 나오는데, package name: 은 그냥 엔터시 폴더 이름으로 지정되고 git repository는 각자 github 저장소의 레포 주소를 넣어주면 된다. (필자는 그냥 패스) 나머지는 그냥 엔터 눌러도 상관없다.

그러면 package.json 파일이 생성된다.

다음으로 express를 설치해보자.
npm i express

이렇게 express 설치가 완료되었고, 설치와 동시에 두 개의 폴더(node_modules)와, 파일(package-lock.json)이 생성되었다.

🤔 node_modules란?
NodeJS 프로젝트에서 사용하는 외부 패키지(라이브러리 또는 모듈)가 저장되는 디렉토리로, 주로 프로젝트의 의존성 패키지(dependency)들이 위치하는 곳이다. 프로젝트가 필요로 하는 모든 외부 패키지 파일이 여기에 저장된다.

🤔 package-lock.json이란?
NodeJS 프로젝트에서 사용하는 패키지의 정확한 버전 및 의존성 정보를 기록하는 파일이다. 이 파일은 npm 버전 5 이상에서 사용되며, 패키지 관리자가 프로젝트의 의존성을 정확하게 관리하고 재현 가능한 방식으로 패키지를 설치하는 데 도움을 준다.

다시말해 node_modules는 npm으로 설치되는 라이브러리, 모듈 등이 저장되는 곳이고, package-lock.json 또한 dependency 목록에 있는 라이브러리, 모듈 등을 관리해주는 것이다.

package.json 안을 살펴보면

dependencies가 추가된 것을 볼 수 있다.

🤔 dependencies란?
NodeJS 프로젝트의 package.json 파일에 정의된 의존성 패키지 목록을 나타내는 섹션이다. 이 섹션에 포함된 패키지들은 프로덕션 환경에서 필요한 패키지들을 나타낸다.

쉽게 말해 NodeJS 프로젝트를 진행할 때 필요한 라이브러리, 모듈, 패키지 등을 말하는 것이다.

그리고 이 dependencies에 추가된 라이브러리, 모듈 등은 node_modules 폴더에 저장되는 것이고, npm은 이를 확인하여 연결되어 있는 모든 것들을 설치, 관리해주는 것이다.

node_modules 폴더는 위처럼 모든 것들을 저장시키기 때문에 폴더의 크기가 굉장하다. 따라서 공유하거나 GitHub에 저장 시엔 .gitignore에 /node_modules로 저장하여 저장소에 올려지지 않게 해주는 것도 좋다.
(npm install을 하면 자동으로 npm이 dependencies를 확인하여 다운해주니까)

자 여기까지 express 설치에 대한 얘기를 해보았는데, 아직 두 가지가 남았다.

그건 바로 Babel과 nodemon이다. 이건 다음 섹션에서 알아보자.

express를 설치 해보았으니 맛보기로 간단하게 사용을 해보도록 하자.

NodeJS로 실행하기

먼저 nodeJS부터 사용을 해보자.

일단 server.js 파일을 만들어 간단한 콘솔을 찍어보자.


console.log("hello");

그리고 터미널에서 node server.js를 입력해보면

이렇게 server.js의 콘솔이 터미널에서 출력되는 것을 확인할 수 있다.

NPM으로 실행하기

이번엔 우리가 배웠던 npm으로 파일을 실행하는 방법에 대해 알아보자.

먼저, package.json의 scripts를 건드려볼 것인데, scripts가 하는 일은 무엇인지부터 알아보자.

우리의 package.json 파일에는 scripts가 이렇게 작성이 되어 있는데, 이 scripts 섹션은 프로젝트에서 사용할 수 있는 명령어 스크립트를 정의하는 부분으로, 프로젝트 빌드, 테스트, 실행 및 관리를 위해 사용된다.

"test"는 별칭으로 npm run 다음에 자신이 실행하고자 하는 것을 입력해주는 것이다.
그 뒤의 "echo ~~"는 npm run test를 했을 때 빌드가 되었으면 하는 것을 입력해주는 것이다.

그럼 우리는 scripts를 이용해 프로젝트 빌드를 해보도록 하자.

다음과 같이 수정한다.

  "scripts": {
    "dev": "node server.js"
  },

터미널에 npm run dev을 입력하고 실행해보면,

이렇게 npm이 package.json의 scripts를 찾아 dev과 대조되는 스크립트를 실행해주는 것을 볼 수 있다.

다시 server.js 파일을 수정해서 실행해보자.

일단 이 수정하고 실행하는 것에 대해 불편함이 느껴졌나요?

일일히 수정하고 저장하고 npm run dev 해서 실행하기 귀찮지 않나요?

이 행동을 nodemon 섹션에서 개선해 보도록 합시다.
.
.
.

귀차니즘은 개발자의 숙명 그렇다고 나태해지지는 말자 -moko

profile
"오늘 내가 허비한 하루는 어제 죽은이가 그토록 갈망하던 내일이다"

0개의 댓글