Node.js: 編寫web程序時文件改動後自動重啓server

例如使用koa編寫一個web程序,爲了測試效果,可能要頻繁地去關閉、啓動。css

一、示例(index.js):

var koa = require('koa');
var app = koa();
var route = require('koa-route');
var views = require('co-views');
var static = require('koa-static');
var router = require('koa-router')();

var render = views(__dirname + '/views', { map: { html: 'swig' } });

app.use(static(__dirname + '/static'));

router.get('/', function *(next) {
    this.body = yield render('index', {
        
    });
});

router.get('/test', function *(next) {
    this.body = yield render('test', {
        pagename: 'awesome people',
        authors: ['Paul', 'Jim', 'Jane']
    });
});

router.get('/hello', function *(next) {
    this.body = 'Hello, world!';
});

app.use(router.routes()).use(router.allowedMethods());

app.listen(6680, '0.0.0.0', function(){
    console.log('start listen http://0.0.0.0:6680');
});

運行:html

$ node index.js

二、解決方案

能夠將gulp和nodemon結合起來。node

$ npm install gulp-nodemon --save-dev

gulpfile.js:web

var gulp = require('gulp'),
    nodemon = require('gulp-nodemon');

gulp.task('default', function() {
  // 將你的默認的任務代碼放在這
});


// 使用gulp start,當js、html後綴的文件代碼改變時候會自動重啓
gulp.task('start', function () {
  nodemon({
    script: 'index.js'
  , ext: 'js html css'
  , env: { 'NODE_ENV': 'development' }
  })
})

此後,運行gulp start便可。npm

相關文章
相關標籤/搜索