代码之家  ›  专栏  ›  技术社区  ›  Guerrilla

SASS编译后未重新加载浏览器同步

  •  0
  • Guerrilla  · 技术社区  · 9 年前

    我在保存对我的 *.scss 浏览器同步窗口重新加载的文件。

    当我保存时,它当前工作正常 *.html 文件,但我不确定如何使其适用于SASS文件。

    这是我的大口文件。

    var gulp = require('gulp');
    var sass = require('gulp-sass');
    var autoprefixer = require('gulp-autoprefixer');
    var browserSync = require('browser-sync').create();
    
    // config
    var config = {
        sassInput: 'sass/',
        sassOutput: 'src/css/',
        publicRoot: 'src/',
    }
    
    // Compile Our Sass
    gulp.task('sass', function() {
        return gulp.src(config.sassInput + '*.scss')
            .pipe(sass())
            .pipe(gulp.dest(config.sassOutput))
            .pipe(browserSync.reload);
    });
    
    // vendor prefixes
    gulp.task('prefix', function () {
        return gulp.src(config.sassOutput)
            .pipe(autoprefixer({
                browsers: ['last 2 versions'],
                cascade: false
            }))
            .pipe(gulp.dest(config.publicRoot));
    });
    
    // Static server
    gulp.task('browser-sync', function() {
        browserSync.init({
            server: {
                baseDir: config.publicRoot
            }
        });
    });
    
    // Watch Files For Changes
    gulp.task('watch', function() {
        gulp.watch(config.sassInput + '*.scss', ['sass'], browserSync.reload);
        gulp.watch(config.publicRoot + '*.html', browserSync.reload);
    });
    
    // Default Task
    gulp.task('default', ['sass', 'prefix', 'browser-sync', 'watch']);
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   Guerrilla    9 年前

    问题是我需要调用stream()。

    以下是工作功能:

    gulp.task('sass', function () {
        return gulp.src(config.sassInput + '*.scss')
            .pipe(sass().on('error', sass.logError))
            .pipe(gulp.dest(config.sassOutput))
            .pipe(browserSync.stream());
    });