2015.10.01 11:26

 NodeJS 를 이용한 웹 프레임워크 중 하나인 Express ( http://expressjs.com/ ) 의 기본적인 사용방법에 관한 튜토리얼 입니다.



우선 준비사항으로  NodeJS 가 설치 되어있어야 하니 아래의 포스팅을 참고하시기 바랍니다.


[Programming Language/NodeJS] - Ubuntu 에서 Node JS 시작하기


[Programming Language/NodeJS] - NodeJS 업데이트 하기





1. Express 간단히 설치하여  HelloWorld 까지 해보기


 여기서는 간단히 Express 를 설치하여 간단히 이용하는 방법에 관해서 설명 드리겠습니다. 우선 원하는 이름으로 app 폴더를 생성해 주도록 합니다. 여기서는 developers 로 생성 하였습니다.


$ mkdir developers
$ cd developers


 폴더로 이동후 npm 초기화를 해주도록 합니다.

$ npm init


 초기화를 할 경우 아래와 같이 패키지 초기화 옵션을 설정할 수 있는대요. 여기서 따로 원하시는 옵션을 넣으시거나 엔터를 눌러서 통과시켜 주시면 됩니다. 제 경우 기본 파일을 아래와 같이 entry point: (index.js) app.js 로 지정했습니다. index.js 를 이용하고 싶으시면 그냥 엔터를 눌러 주시면 됩니다.



 이제 아래의 명령어를 이용하여 express 를 package.json 에 등록과 동시에 설치할 수 있습니다. package.json 에 등록된 패키지는 후에 npm install 이라는 명령어로 쉽게 설치가 가능합니다.


$ npm install express --save


만약 package.json 에 등록하지 않고 express 만을 설치하고 싶으시다면 npm install express 을 써주시면 됩니다.


$ npm install express


 이제 설치는 끝냇으니 HelloWorld 를 출력해보도록 하겠습니다. 아래의 코드를 entry point 파일에 입력하여 주시기 바랍니다. 제경우 app.js 였으니 app.js 를 아래와 같이 작성하였습니다.


var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

var server = app.listen(3000, function () {
  var host = server.address().address;
  var port = server.address().port;

  console.log('앱은 http://%s:%s 에서 작동 중입니다.', host, port);
});


이제 아래와 같이 node app.js 를 이용하여 앱을 실행할 수 있습니다.


$ node app.js


위의 예제는 3000 포트에서 작동되며 해당 주소의 3000 번 포트로 들어 가시면 Hello World! 를 보실수 있으실 것 입니다.


2. Express Generator  를 이용하여 앱 개발하기


 이제 express generator 를 이용하여 앱 전체 기반을 만든 후 앱을 만들어 보겠습니다. 1번의 방법과 비교하자면 위의 앱은 하나의 파일 ( app.js ) 를 이용한 간단한 앱으로 기본 발판이 셋팅되지 않은 간단한 앱이며 express generator 를 이용하면 express 의 기능을 좀더 자유롭게 이용할 수 있는 기반을 자동으로 생성해 줍니다.


  아래의 명령어로 express-generator 을 설치해 줍니다.


$ npm install express-generator -g


설치가 모두 완료 되셨다면 아래와 같이 express -h 를 이용하여 도움말 메뉴를 확인하실 수 있습니다.


$ express -h



 이제 express generator 를 이용해 앱을 만들어 보겠습니다. 아래와 같이 express appname 명령어를 이용하여 간단히 앱의 생성이 가능합니다. 폴더이름은 appname 으로 정해 지니 참고하시기 바랍니다. 아래의 예제에서는 www 로 생성하였습니다.


$ express www




 이제 cd www && npm install 을 이용하여 앱 폴더로 이동 후 의존성 패키지 들을 설치해 줍니다. 


$ cd www && npm install


모두 설치 되었다면 이제 아래의 명령어로 express 의 기본 프로젝트의 실행이 가능합니다.


# MAC OS or Linux
$ DEBUG=www npm start

# Windows
> set DEBUG=www & npm start


이제 아래와 같이 Express 의 기본 프로젝트 화면을 확인하실 수 있으실 것 입니다. 포트는 기본적으로 3000 번을 이용합니다.



생성된 파일들의 구조는 아래와 같으니 참고하시기 바랍니다.


.
├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

7 directories, 9 files


3. Express 기본적인 라우팅 하기


여기서 설명 드릴 것은 간단한 라우팅 방법입니다. 규칙은 app.방식( PATH , HANDLER ) 의 구조로 되어 있으며 app 은 앱에 따라 다르게 설정하시면 됩니다.


var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

// accept POST request on the homepage
app.post('/', function (req, res) {
  res.send('POST 요청');
});

// accept PUT request at /user
app.put('/user', function (req, res) {
  res.send('PUT 요청');
});

// accept DELETE request at /user
app.delete('/user', function (req, res) {
  res.send('DELETE 요청');
});


Routing 에 관한 좀더 자세한 옵션들은 링크 ( http://expressjs.com/guide/routing.html ) 를 참고하시기 바랍니다.






저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  • Facebook
  • Disqus
  • Tistory