https://sanghaklee.tistory.com/20?category=609806 [이상학의 개발블로그]


앞에서 만든 Node.js 로 만든 아주 간단한 서버로는 실제 운영하기엔 부족하다.

그래서 NPM 모듈들을 추가시켜서 쓸만한 웹 서버의 기능을 하는 어플리케이션을 만들 수 있는데

Express를 사용하면 아주 손 쉽게 프로젝트를 생성할 수 있다


선행작업

  • node 설치
  • npm 설치

1. express 어플리케이션 쉽게 만드는   npm  설치

$ npm install -g express-generator 

$ npm install 은 $ npm i 로 간단히 쓸 수 있습니다.



express-generator를 사용하면 쉽게 express 프로젝트를 생성할 수 있다.

-g 는 npm install 에서 글로벌로 사용하겠다는 의미. 즉 어떤 경로에서든 사용가능



2. express 앱 만들기

$ express [앱 이름] [옵션들]

$ express sampleServer 는 sampleServer 라는 이름의 앱을 만들겠다는 말이다. $ ls 해보면 해당 이름으로 폴더가 생겼다.

--ejs 는 HTML템플릿을 어떤것을 하려는 것의 옵션인데 jade가 기본인데 jade는 익숙치 않기 때문에

기본 HTML 문법과 유사한 ejs 탬플릿으로 설정한다.

--ejs 를 빼고 앱을 만들고 views/index.ejs 와 views/index.jade 파일을 비교해보자!



3. 의존성 설치하기

현재 만들어진 디렉토리로 이동하고 ( cd sampleServer)

npm 의존성 모듈을 설치하는 과정이다( npm install)


npm install 은 무엇을 하는 것일까??

현재 만든 앱의 구조이다. 여기에 package.json 이라는 파일이 있다. 

package.json 은 앱의 명세서 같은 느낌이다. 보면 앱의 이름, 버젼, 시작 위치 등등이 있다.

여기서 dependencies라는게 있는데 npm은 수만가지 오픈 모듈의 집합소다. 이 오픈된 모듈을 가져다 쓰고 또

새로운 모듈을 만들 때 기존 모듈에 의존해서 만들기 때문에 내가 어떤 모듈을 쓸지 정해야한다.

이 파일을 기준으로 $ npm install 명령시 npm  저장소의 모듈을 설치하게 되고

이러한 설치된 모듈은 node_modules에 저장된다. 



4. 앱 실행하기

$ npm start 로 앱을 실행한다. (현재 위치가 앱의 디렉토리여야 한다)

>node ./bin/www 가 뜨고 아무것도 없다면 성공

이제 브라우저를 열고 localhost:3000 을 입력한다.


5. 브라우저로 접속

잘 나온다. 


앱 종료는  Ctrl + C


디폴트 앱 실행 방법

  • $npm start
  • $node bin/www
  • $node app.js  ( 이 방법은 express 4.x 버전부터 사라진 것 같다)