浏览器同步似乎不起作用

时间:2018-01-26 21:36:16

标签: javascript gulp browser-sync

我第一次使用浏览器同步和gulp,这是我的项目结构:

-root
    -assets
        -img
    -src
        -css
        -js
        -scss
        index.html
    gulpfile.js
    package.json

这是gulpfile.js:

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

gulp.task('sass', function() {
    return gulp.src("./src/scss/*.scss")
        .pipe(sass())
        .pipe(gulp.dest("./src/css"))
        .pipe(browserSync.stream());
});

// Static Server + watching scss/html files
gulp.task('serve', gulp.series('sass'), () => {

    browserSync.init({
        server: "./src"
    });

    gulp.watch("./src/scss/*.scss", ['sass']);
    gulp.watch("./src/*.html").on('change', browserSync.reload({stream:true}));
});

// Compile sass into CSS & auto-inject into browsers


gulp.task('default', gulp.series('serve'));

我通过浏览器同步文档here获取代码并进行了一些修改,但是当我输入' gulp'在控制台上,我明白了:

[22:24:59] Starting 'default'...
[22:24:59] Starting 'serve'...
[22:24:59] Starting 'sass'...
[22:24:59] Finished 'sass' after 40 ms
[22:24:59] Finished 'serve' after 43 ms
[22:24:59] Finished 'default' after

可能我错过了什么,不应该无限期地浏览器同步运行? 谢谢

1 个答案:

答案 0 :(得分:0)

好吧现在好像我解决了:

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

gulp.task('sass', function() {
    return gulp.src("./src/scss/*.scss")
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest("./src/css"))
        .pipe(browserSync.stream());
});

// Static Server + watching scss/html files
gulp.task('serve', function() {

    browserSync.init({
        injectChanges: true,
        server: "./src"
    });

    gulp.watch("./src/scss/*.scss", gulp.series('sass'));
    gulp.watch("./src/*.html").on('change', browserSync.reload);
});

// Compile sass into CSS & auto-inject into browsers


gulp.task('default', gulp.series('serve','sass'));