본문 바로가기
JavaScript

express.js 설치

by ma_ro 2020. 2. 19.

서버

인터넷에 연결되어 클라이언트의 접속 요청에 응답하는 컴퓨터

Express.js

Node.js의 웹 프레임 워크
서버를 만들 수 있게해줌
오래되었고 안정적임

  • open connection
  • listen connection
  • handle some files
  • send some HTML
  • sava some DATA
  • get DATA from Form

등의 일을 반복적으로 함.

패키지 적용 방법

  1. 웹사이트에서 다운, 적용
    • 업데이트를 수동으로 해줘야한다.
    • 프로젝트 upload시 패키지들도 같이 올려줘야함.
  2. NPM ( Node Package Manager ) 을 이용한다.

npm을 이용하면 npmjs 에 등록된 node.js 관련 패키지들을 이용할 수 있다.

npm으로 다운받기

npm -v

cmd 창에서 npm을 확인한다. node.js와 같이 설치되기 때문에 보통 설치되어 있다.

 

npm init

프로젝트 디렉터리로 이동해서 프로젝트에 npm을 적용하기 위해 명령어를 입력한다.

 

package name: (package name)
version: (1.0.0)
description: 
entry point: (index.js)
test command:
git repository:
keywords:
author: 
license: (ISC)

몇 가지 물어보는데 그냥 충실히 대답해주면 된다.

 

{
    "name" : 해당 모듈의 이름을 정의한다.  (이름에 'node' 나 'js' 가 들어가면 안된다.)
    "version" : 해당 모듈의 버전을 정의한다.
    "description" : 해당 모듈의 추가적인 설명을 정의한다.
    "main" : node에서 해당 package.json 을 탐색할 때 기준이 되는 파일 이름을 정한다.
             기본적으로 index 로 설정이 되며, 생략이 가능한 부분이지만 추후 프로젝트가 복잡해진다면 
             이 항목을 정의 할 필요가 있다.
    "scripts" : package.json 이 있는 폴더에서 추가로 실행 할 스크립트 명령어를 정의한다. 
    		   노드 명령이나 쉘 스크립트를 적어주면 된다. start, test, build 등을 정의한다.
    "author" : 해당 모듈의 제작자를 정의한다.
    "liecnse" : 해당 모듈의 라이센스를 정의한다.
    "dependencies" : 일반적으로 package.json 에 가장 많은 정보가 입력되는 곳이며 여기서 모듈의 의존성을 
    				정의 한다. 해당 모듈이름과 버전을  키 : 값 의형식으로 정의 되어있다.
    "devDependencies" : 해당 모듈의 실행에 필요한 또는 개발에 필요한 모듈의 의존성을 입력하는 곳 이다.
}

그럼 이러한 package.json 파일이 생성된다. 이 파일을 기반으로 npm이 관리를 해주는 듯.
package.json 파일이 없는 상태에서 express 등의 패키지를 설치하려하면 원치 않는 디렉터리에 package.json 파일을 자동 생성하고, 그쪽에 패키지를 설치할 수 있으니 우선적으로 package.json 파일을 생성해야 한다.

 

npm i express

npmjs 웹 페이지에서 express를 검색하면 install 명령어를 확인할 수 있다.

 

  "dependencies": {
    "express": "^4.17.1"
  }

설치가 완료되면 pakage-lock.json과 node_modules가 생성이되고 pakage.json에 dependencies 가 생긴다.
이 말은 내가 생성한 패키지는 express 4.17.1 이상의 버전을 의존한다는 뜻이고, express는 또 다른 50개의 패키지들을 의존한다. (@4.17.1 기준) node_modules에는 이 50개의 패키지들이 설치되어 있고, 그 패키지들에 대한 의존이 pakage-lock.json에 정의되어 있다.

 

pakage.json이 중요한 이유는 여기에 필요한 패키지 정보들이 다 적혀있기 때문이다. 때문에 배포할 때 패키지까지 묶어서 전달할 필요 없이 pakage.json 파일만 건내주면 된다. 그럼 npm으로 pakage.json 파일의 dependencies를 참조하여 필요한 패키지들을 설치하여 이용할 수 있다.

'JavaScript' 카테고리의 다른 글

Express로 서버 만들기  (0) 2020.02.20
<canvas> height와 width 렌더링 왜곡 문제  (0) 2020.02.19
Node.js 개요  (0) 2020.02.18
change event  (0) 2020.02.01
select option에 attribute 추가하기  (0) 2020.02.01

댓글