browserSync无需sass文件即可工作

时间:2019-03-28 15:24:39

标签: sass gulp gulp-task

browserSync运行良好,但是没有重新加载sass,并且我看不到更改在浏览器中自动重新加载。 基本上,当我在终端中重新运行gulp start时,它不会重新加载。我正在使用Gulp 4,这是我的index.js。

帮帮我 谢谢!

gulp.task('style', () => {
    console.log('execute sass file');

    return gulp.src('src/assets/scss/styles.scss')
        .pipe(rename('css/styles.css'))
        .pipe(gulp.dest('dist/css'));
});

gulp.task('index', () => {
    console.log('execute twig');

    return gulp.src('src/markup/index.twig')
    .pipe(rename('html/index.html'))
    .pipe(gulp.dest('dist/html'))
});


gulp.task('twig', function() {

    return gulp.src('src/markup/*.twig')
    .pipe(twig())
    .pipe(gulp.dest('dist/html'))
    .pipe(browserSync.reload({
        stream: true
    }))
});

gulp.task('sass', function () {

    return gulp.src('src/assets/scss/*.scss')
    .pipe(sass())
    .pipe(gulp.dest('dist/css'))
    .pipe(browserSync.reload({
        stream: true
    }))
});

gulp.task('watch', function() {
    gulp.watch('src/assets/scss/**/*.scss', gulp.task('style'));
    gulp.watch('src/markup/index.twig', gulp.task('twig'));
    console.log('task twig and sass works');

    gulp.watch('src/markup/*.twig', browserSync.reload);
    gulp.watch('src/assets/scss/*.scss', browserSync.reload);
});

gulp.task('browser-sync', () => {
    browserSync.init({
        server: {
            baseDir: 'dist/html/',
            browser:"google chrome",
            open: true,
        }
    });
});

gulp.task('start', gulp.parallel('browser-sync','twig', 'sass', 'watch'));

1 个答案:

答案 0 :(得分:0)

更改自:

gulp.watch('src/assets/scss/**/*.scss', gulp.task('style'));  

gulp.watch('src/assets/scss/**/*.scss', gulp.series('style'));

您也想对twig任务执行此操作。