【问题标题】:How can I get browserSync running with gulp?如何让 browserSync 与 gulp 一起运行?
【发布时间】:2016-01-28 04:26:33
【问题描述】:

我在这里关注文档: http://www.browsersync.io/docs/gulp/

这是我到目前为止所构建的:

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



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

    gulp.task('browser-sync', function() {
        browserSync.init({
            //proxy: "mydevserver",
        server : ".",
            files: ['./index.html', './css/**']
        });
    });

    gulp.watch("./css/**").on('change', browserSync.reload);

} ) ;

// Compile sass into CSS & auto-inject into browsers
gulp.task('sass', function() {
    return gulp.src("./sass/**")
        .pipe(sass())
        .pipe(gulp.dest("./css/"))
        .pipe(browserSync.stream());
});

gulp.task('default', ['serve']) ;

当我从终端运行“grunt”时,“sass”任务有效。但我没有迹象表明 browserSync 运行。终端没有给我任何与 browserSync 相关的反馈。如果我导航到“localhost:3000”或“localhost:3001”,则没有任何运行。

【问题讨论】:

    标签: gulp browser-sync


    【解决方案1】:

    你在一个任务中创建了一个任务,这就是为什么你没有看到任何关于browserSync的东西,你不需要调用BrowserSync.create()也不需要使用gulp.watch,browserSync会自动监视你拥有的文件在其配置中指定。

    更正:

    var browserSync = require('browser-sync');
    gulp.task('serve',  ['sass'],  function() {
        browserSync({
            //proxy: "mydevserver",
        server : ".",
           files: ['./index.html', './css/**']
        });
    } ) ;
    

    【讨论】:

    • 看起来唯一的区别是删除了监视任务?如果我这样做,'gulp serve' 只会编译一次 sass 并且什么都不看。而且 browserSync 仍然没有运行。
    • 我已经编辑了代码,只使用browserSync作为一个函数,不需要使用browserSync.init().create()
    猜你喜欢
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 2015-03-15
    • 2016-07-02
    • 1970-01-01
    相关资源
    最近更新 更多