为非常基本的服务器重启配置 Gulp 'watch' 任务(Node JS)

Configure Gulp 'watch' task for very basic server-restart (Node JS)

我正在尝试让 Gulp 'watch' 任务在我对控制器文件进行更改时重新启动服务器.. 以获取这些更改 w/out 必须手动重启服务器。

有人可以 post 一个小例子和说明 运行 它正确吗?

所以那里有很多很棒的教程,但是恕我直言,他们似乎没有分解像我这样 Gulp 的新手正在寻找的分步细节. post 假设 reader 对如何使用节点 JS 设置路径有基本的了解,并且旨在仅解决那些与现有 Gulp 参考文献存在的差距。

下面是处理

的完整gulpfile.js
  • 服务器重启
  • 缩小

如何运行 Gulp 任务

A) 使用 gulp 启动服务器。

$ gulp

$ gulp dev

对文件进行一些更改并重新启动它

B) 运行 缩小任务

$ gulp minify_js

在您的节点设置中,在相应的目录中查找生成的文件bundle.js

gulpfile.js

'use strict';

var gulp = require('gulp'),
     jshint = require('gulp-jshint'),
     concat = require('gulp-concat'),
     uglify = require('gulp-uglify'),
     rename = require('gulp-rename'),
     nodemon = require('gulp-nodemon'),
     minifyCss = require('gulp-minify-css'),
     sourcemaps = require('gulp-sourcemaps'),
     plugins = require('gulp-load-plugins')();


gulp.task('dev', function () {
  return plugins.nodemon({
    watch: ['config','controllers', 'models', 'util', 'routes', 'server.js'],
    script: 'server.js'
  });
});

gulp.task('minify_js', function() {
      return gulp.src('public/js/*.js')
        .pipe(sourcemaps.init())
          .pipe(concat('bundle.js'))
          //only uglify if gulp is ran with '--type production'
          // .pipe(gutil.env.type === 'production' ? uglify() : gutil.noop()) 
          .pipe(uglify()) 
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('public/js'));
    });

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