Gulp不做任何更改

时间:2016-07-19 13:10:04

标签: gulp

我从一口气开始,我没有得到任何错误,但似乎gulp.watch不工作。
服务器启动并编译,但不刷新更改 我评论一些线来简化任务 节点版本:4.4.7
CLI版本1.2.2
本地版本3.9.1
操作系统:Win7

我的 gulpfile .js

'use strict';
var gulp = require('gulp');
var less = require('gulp-less');
var browserSync = require('browser-sync').create();
var jade = require('gulp-jade');
var concat = require('gulp-concat');

gulp.task('less', function() {
    return gulp.src("./des/less/estilos.less")
        .pipe(less())
        .pipe(gulp.dest("./prod/css/"))
        .pipe(browserSync.stream());
});

gulp.task('less:watch', function () {
   gulp.watch('./des/less/*.less', ['less']);
});

gulp.task('templates', function() {
  gulp.src('./des/jades/*.jade')
    .pipe(jade({
      pretty: true
    }))
    .pipe(gulp.dest('./prod'))
    .pipe(browserSync.stream());
});

gulp.task('scripts', function() {
  //return gulp.src(['./lib/file3.js', './lib/file1.js', './lib/file2.js'])
   return gulp.src('./des/js/*.js')
    .pipe(concat('all.js'))
    .pipe(gulp.dest('./prod/js/'))
    .pipe(browserSync.stream());
});

gulp.task('serve', ['less','templates'], function() {
    browserSync.init({
        server: "./prod",
        port: 3000,
        browser: ["chrome", "firefox"],
        watchOptions : {
            ignored : 'node_modules/*',
            ignoreInitial : true
        }
    });
  gulp.task('watch', function() {
    gulp.watch(["./des/jades/*.jade"], ['templates']);
    // gulp.watch("./**/*.less", ['less']);
    // gulp.watch("./**/*.js", ['scripts']);
    // gulp.watch("./**/*.css").on('change', browserSync.reload);
    gulp.watch("./prod/*.html").on('change', browserSync.reload);
    // gulp.watch("./**/*.js").on('change', browserSync.reload);
  });
});

// gulp.task('default', ['less','lessPublic','lessCommon','templates','serve']);
gulp.task('default', ['less','templates', 'scripts', 'serve']);

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您的问题是您的var browserSync指向“browser-sync”的创建对象,并且将“stream”对象链接到它将无法工作,因为它不是创建对象的实例。

你应该改变

var browserSync = require('browser-sync').create();

var browserSync = require('browser-sync');

有了它,它应该适用于browserSync

的现有对象
browserSync.init();
browserSync.create();
browserSync.stream();