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

があなたをありがとうhelp

答えて

0

あなたの問題は、あなたのvar browserSyncが "browser-sync"とチェーンのオブジェクトを作成していることです「ストリーム」オブジェクトを作成するインスタンスは存在しないため、「ストリーム」オブジェクトはそのオブジェクトには作用しません。

あなたはそれがbrowserSync

browserSync.init(); 
browserSync.create(); 
browserSync.stream(); 
の既存のオブジェクトへのスコープべきこれにより

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

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

を変更する必要があります

関連する問題