[Node.js] grunt-express-server 연결하기

grunt-express-server 사용하기

grunt-express-server npm webpage


node.js로 개발할때 express를 사용시, 재가동을 위해 플러그인을 사용하면 편하게 개발 가능하다.

[설치방법]

GRUNT 커멘드 라인 설치
$ npm install -g grunt-cli

express-server 서버생성작업
$ mkdir express-server #서버 폴더생성
$ cd express-server #서버폴더로 이동
$ npm init #초기화
$ npm install grunt --save-dev #grunt 설치
$ npm install -g express-generator #express 설치
$ cd ..
$ express project01 #express 프로젝트 초기생성
$ cd project01 #프로젝트 폴더로 이동
$ npm install #초기화
$ npm start #실행

express-server 폴더로 이동하여 grunt-express-server 설치
$ cd ../express-server
$ npm install grunt-express-server --save-dev

grunt-contrib-watch 설치
$ npm install grunt-contrib-watch --save-dev

파일 변경 감지 서버 재가동 자동화 플러그인 구현
- project01/bin/grunt_www.js 작성
설치된 express 서버를 기동(npm start)  package.json 안에 있는 bin/www 의 경로의 파일 스크립트가 실행 되기 때문에 이를 변경해준다.
/* grunt_www.js */
var debug = require('debug')('project01');
var app = require('../app');
app.set('port', process.env.PORT || 3020);
var server = app.listen(app.get('port'), function() {
    debug('Express server listening on port ' + server.address().port);
});
express-server Gruntfile.js 생성 및 설정
/* Gruntfile.js */
var path = require('path');
module.exports = function(grunt) {
grunt.initConfig  ({
  express: {
    server : {
      options: {
        script: path.resolve(__dirname, './../project01/bin/grunt_www.js'),
        port: 3040,
      },
    },
  },
  watch: {
    express: {
      files: [
        path.resolve(__dirname, './Gruntfile.js'),
        path.resolve(__dirname, './../project01/bin/grunt_www.js'),
        path.resolve(__dirname, './../project01/')+'/*.js',
      ],
      tasks:  [ 'express:server' ],
      options: { spawn: false   }
    }
  }
});
grunt.loadNpmTasks('grunt-express-server');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['express:server', 'watch']);
};
grunt 수행
$ grunt #서버실행
Running "express:server" (express) task
Starting background Express server
Express server listening on port 3040
project01 프로젝트 안의 app.js 를 수정하면 변경을 감지하고 서버가 재기동된다.
Running "watch" task
Waiting...
>> File "..\project01\app.js" changed.

Running "express:server" (express) task
Stopping Express server
Starting background Express server
Express server listening on port 3040

Running "watch" task
Completed in 0.716s at Mon Dec 17 2018 10:02:33 GMT+0900 (GMT+09:00) - Waiting...

댓글

이 블로그의 인기 게시물

[파이썬] #2-모듈설치 및 스파이더(spyder)사용

[Tool-Tip] 에디트플러스에서 자동정렬기능 추가하기

[파이썬] #1- 아나콘다 설치, 아나콘다 파이썬 환경 만들기