외부 모듈

웹 개발에서 자주 사용할 수 있는, 다른 사람들이 만든 외부 모듈을 알아보자!

[목차]

  1. npm
  2. 서버 실행 모듈
    1. supervisor 모듈
    2. forever 모듈

[꼭 알아둘 개념]

개념 설명
ejs 모듈 / jade 모듈 웹 페이지를 동적으로 생성하는 템플릿 엔진 모듈
supervisor 모듈 파일의 변경사항을 자동으로 인식하고 종료 후 다시 실행시킨다.
forever 모듈 웹 서비스 장애와 같은 예외 상황을 대비하는 모듈
npm install 명령 외부 모듈을 설치할 때 사용
npm init 명령 Node.js 프로젝트를 생성할 때 사용
package.json 파일 Node.js 프로젝트의 환경 설정 정보를 담은 파일

1. npm

Node.js는 npm(Node Package Manager)을 기반으로 모듈을 공유한다.

[콘솔 입력 - 외부 모듈을 설치 할 때]

$ npm install 모듈명

이렇게 외부 모듈을 설치한 후에 내장 모듈을 사용하는 것과 같이 사용하면 된다.

require('모듈명');

2. 서버 실행 모듈

전역 모듈로써 터미널에서 곧바로 사용할 수 있는 모듈이다. require() 메서드를 이용하지 않아도 사용할 수 있다.

[콘솔 입력 - 전역 모듈 설치]

$ npm install -g supervisor
$ npm install -g forever

2.1 supervisor 모듈

소스 코드를 변경 저장하면 자동으로 인식하고 터미널에서 실행을 종료시킨 후에 다시 실행하는 모듈이다.

주의 : 서버 프로그램을 실행할 때만 사용할 것. 서버용이 아닌 일반 코드 파일을 supervisor로 실행한 경우 무한 반복에 빠질 수 있다.

[콘솔 입력 - supervisor 모듈 설치(맥, 리눅스 버전)]

$ sudo npm install -g supervisor
[ sudo ] password for USER: 비밀번호 입력하기

[콘솔 입력 - supervisor 모듈 설치(윈도우 버전)]

> npm install -g supervisor

[실행 - supervisor 모듈로 서버 실행]

$ supervisor test.server.js 

Running node-supervisor with
  program 'test.server.js'
  --watch '.'
  --extensions 'node,js'
  --exec 'node'

Starting child process with 'node test.server.js'
Watching directory '/Users/SMARTHINK_MBL13/nodejs/20170721-node/open_node/7-3' for changes.
Press rs for restarting the process.
서버가 시작되었습니다...test.server.js

// 주석 : test.server.js 파일을 수정한 후 저장하자마자 서버를 재시작 함

crashing child
Starting child process with 'node test.server.js'
서버가 시작되었습니다...test.server.js
^CReceived SIGINT, killing child process...
Parent process exiting, terminating child...

2.2 forever 모듈

Node.js는 단일 스레드 기반의 웹 서비스다. 오류 하나만 발생해도 서비스가 그대로 죽어버린다. forever 모듈은 이 상황을 대비하기 위해 사용된다.

[콘솔 입력 - supervisor 모듈 설치(맥, 리눅스 버전)]

$ sudo npm install -g forever
[ sudo ] password for USER: 비밀번호 입력하기

[콘솔 입력 - supervisor 모듈 설치(윈도우 버전)]

> npm install -g forever

results matching ""

    No results matching ""