2017-06-30 13 views
0

の後に、私のgulpタスクの中でbrowserSync.reloadを使用してブラウザをリロードしたい。現在、私のgulpfile.jsは次のようになります。タスクが終了した後にブラウザをリロードする

gulp.task('serve', ['build'], function() { 

    browserSync.init({ 
     notify: false, 
     server: "./" + dist 
    }); 

    gulp.watch("/**/*.html", ['html']).on('change', browserSync.reload); 
    gulp.watch("/**/*.md", ['html']).on('change', browserSync.reload); 

}); 

現在一気が最初に行うことは[BS] Reloading Browsers...、その後[12:54:12] Starting 'html'...です。

最初にhtmlを実行し、終了時にbrowserSync.reloadに変更するにはどうすればよいですか?マーク・が言っ

として生成することができparrallelで両方のタスクを実行し、

gulp.task('serve', ['build'], function() { 

    browserSync.init({ 
     notify: false, 
     server: "./" + dist 
    }); 

    gulp.watch("/**/*.html", ['html', browserSync.reload]); 
    gulp.watch("/**/*.md", ['html', browserSync.reload]); 

}); 

EDIT:

答えて

1

は、私はあなたが、あなたがこのようなリロードを指定することができon.changeリスナーを必要としないと思いますいくつかのエラーは、より良い解決策は:

gulp.task('serve', ['build'], function() { 
    browserSync.init({ 
     notify: false, 
     server: "./" + dist 
    }); 

    gulp.watch("/**/*.html", ['reload']); 
    gulp.watch("/**/*.md", ['reload']); 
}); 

gulp.task('reload', ['html'], function() { 
    browserSync.reload(); 
}); 
+1

私のコメントを参照してくださいere:https://stackoverflow.com/questions/43015697/why-does-gulp-fail-to-automatically-re-process-my-js-upon-changes/43366820#comment76387418_43366820あなたの 'html'タスクを実行する理由並列でのbrowsersync.reloadは最良の解決策ではありません。 – Mark

関連する問題