본문 바로가기

Programming/NodeJS

[NodeJS] NodeJS + Express 설치 및 서비스 개발 시작하기

작성자 : Deok

여기서는 NodeJS 와 Express 로 간단한 웹 서비스 를 만들어 보겠습니다.


우선 NodeJS 는 아시리라 믿고 Express 를 알려 드리면 Express 는 NodeJS 를 이용하여 웹 서비스를 쉽게 개발하게 할 수 있는 프레임워크중 하나 입니다.


* 여기서는 Express만 간단히 직접 설치하고 이용 하는 방법 그리고 express-generate 를 이용한 방법을 알아 보겠습니다.

우선 NodeJS 가 설치되어 있어야 하니 아래의 포스팅 들을 참고하시기 바랍니다.


2019/06/04 - [강좌/NodeJS] - [NodeJS] Linux ( CentOS, Ubuntu, AWS Linux 등 ) 에 NodeJS 설치하기

2019/06/04 - [강좌/NodeJS] - [NodeJS] yarn 을 설치하고 yarn 을 이용하여 패키지 관리하기

2019/06/04 - [강좌/NodeJS] - [NodeJS] n 을 통하여 NodeJS 버전 변경하기

2019/06/04 - [강좌/NodeJS] - [NodeJS] pm2 를 통하여 NodeJS 프로세스 관리하기





1. Express만을 설치하여 NodeJS+Express 를 이용하는 방법


  Express 만을 설치하는 방법 입니다. 우선 디렉토리를 만드신 후 npm init 로 프로젝트를 초기화를 진행합니다.


# 프로젝트 디렉토리 만들기
$ mkdir www-express
$ cd www-express

# npm 을 통한 초기화 하기
$ npm init


이제 아래의 yarn 혹은 npm 을 이용하여 express 를 package.json 에 등록과 함께 설치를 진행하도록 합니다. * npm 은 --save 를 하셔야 package.json 에 등록됩니다.


$ npm install express --save

# 혹은

$ yarn add express



이제 설치 한 프로젝트 내에 보시면 node_modules 폴더가 생긴 것을 확인하실 수 있을 것입니다. 이제 index.js를 만드시고 아래의 코드를 입력해 주도록 합니다.


const express = require('express');
const 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('Server is working : PORT - ',port);
});


이제 아래와 같이 node index.js를 이용하여 서버를 실행하시고 http://localhost:3000에 들어가시면 Hello World! 가 찍힌 것을 확인하실 수 있으실 것입니다.

$ node index.js


아래는 웹 페이지에 표시된 모습입니다.



 위의 예제로는 복잡한 프로그램을 만들기에는 무리가 있습니다. 조금 제대로 된 서비스를 만들기 위해서는 아래에서 소개할 express-generate 혹은 후에 제가 알려 드릴 boilerplate-ne 를 이용하시면 되겠습니다.




2. Express-generate 를 이용하여 프로젝트 구성하기


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


우선 express-generate 를 이용하기 위해 npm install express-generate -g 를 통해 express-generate 를 설치하도록 합니다.


$ npm install express-generator -g

설치가 모두 완료 되셨다면 아래와 같이 express -h (도움말) 혹은 express --version (버전확인) 를 이용하여 정상적으로 설치 되었는지 확인해 보시기 바랍니다.



다음으로 express {APP_NAME} 명령어를 이용하여 앱을 만들어 보도록 합니다.

$ express www



이제 마지막으로 폴더를 이동 후 의존성 패키지를 설치하고 서버를 실행해 보도록 합니다.

# 폴더 이동 후 설치하기
$ cd www && npm install

# 실행하기 - MAC OS or Linux
$ DEBUG=www npm start

# 실행하기 - Windows
> set DEBUG=www & npm start




서버 실행 후 웹브라우저로 이동하여 http://주소:3000 포트로 접속하면 이제 정상적으로 서버에 접속되는 것을 확인하실 수 있는 것을 확인하실 수 있을 것입니다.




추가. Express 기본 라우팅 하기


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


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 ) 를 참고하시기 바랍니다.