2016-07-19 49 views
0

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

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

感谢您帮助

回答

0

你的问题是,你的var browserSync指向“浏览器同步”的创建对象和链因为它不是创建对象的实例,所以“流”对象不起作用。

你应该改变

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

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

有了这个它应该范围的browserSync

browserSync.init(); 
browserSync.create(); 
browserSync.stream(); 
现有的对象
相关问题