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

时间:2015-06-03 17:50:37

标签: node.js gulp gulp-watch

我试图让Gulp'观看'当我更改控制器文件时重启服务器的任务..拿起那些更改而不必手动重启服务器。

有人可以发布一个带有说明的小例子来正确运行吗?

1 个答案:

答案 0 :(得分:1)

所以有很多很棒的教程,但恕我直言,他们似乎没有分解像我这样的新手Gulp正在寻找的一步一步的细节。本文假设读者对如何使用节点JS设置路径有基本的了解,并且旨在仅解决现有Gulp参考的那些感知缺口。

下面是一个处理

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

如何运行Gulp任务

A)用gulp启动服务器。

$ gulp

$ gulp dev

对文件进行一些更改,然后重新启动

B)运行minify任务

$ 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']);