ぶるーすくりーん

ぽんこつプログラマ日記

gulp+node+expressでlivereload使いたい

動機



gruntgulp使

express使Browsersyn使便


BrowserSync


2015/08/19 BrowserSync


gulp + node + express  BrowserSync 使


nodemon + livereload 使


2015/03/04 


gulpfile.js

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

gulp.task('serve', function () {
  livereload.listen();
  var reloaded;

  nodemon({
    script: './bin/www',
    ext: 'js',
    ignore: ['views', 'client', 'build'],
    env: {
      'NODE_ENV': 'development',
      'DEBUG': '【bin/www に定義されている debug 対象のアプリ名】'
    },
    stdout: false
  }).on('readable', function() {
    // 標準出力に起動完了のログが出力されたらリロードイベント発行
    this.stdout.on('data', function(chunk) {
      if (/^Express\ server\ listening/.test(chunk)) {
        livereload.reload();
      }
      process.stdout.write(chunk);
    });
  });

  // node を再起動する必要のないファイル群用の設定
  gulp.watch(['views/**', 'public/**'])
    .on('change', function(event) {
      livereload.changed(event);
    });
});

gulp.task('default', ['serve']);




$ npm install gulp gulp-nodemon gulp-livereload --save-dev


server

$ gulp serve


livereload chrome

chrome
LiveReload

livereload
 http://localhost:3000 
f:id:tajima0111185:20141019142152p:plain   
f:id:tajima0111185:20141019142221p:plain