Gulp Browsersync不会在wamp上刷新

Gulp Browsersync不会在wamp上刷新,gulp,wamp,cakephp-3.0,gulp-sass,gulp-browser-sync,Gulp,Wamp,Cakephp 3.0,Gulp Sass,Gulp Browser Sync,我有一个小问题,我从几个小时以来一直在战斗。我想使用gulp来观看scss文件,将它们转换为css,然后重新加载浏览器 它一直工作到重新加载浏览器。所以sass使用的是gulp,而不是Browsersync。这是我的gulpfile.js,也许有人能帮忙 var gulp = require('gulp'); var sass = require('gulp-sass'); var browserSync = require('browser-sync'); gulp.task('sa

我有一个小问题,我从几个小时以来一直在战斗。我想使用gulp来观看scss文件,将它们转换为css,然后重新加载浏览器

它一直工作到重新加载浏览器。所以sass使用的是gulp,而不是Browsersync。这是我的gulpfile.js,也许有人能帮忙

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

gulp.task('sass', function () {  
    gulp.src('webroot/css/style.scss')
        .pipe(sass({includePaths: ['scss']}))
        .pipe(gulp.dest('webroot/css'));
});

gulp.task('browser-sync', function() {  
    browserSync.init(["./**/*.css", "./**/*.php","./**/*.ctp","./**/*.js"], {
        server: {
            baseDir: "./",
            proxy:{target:'cake.dev', ws : true}
        },
        logLevel: "debug",
    });
});

gulp.task('default', ['sass', 'browser-sync'], function () {  
    gulp.watch("webroot/css/*.scss", ['sass']);
});

Ps:我正在使用CAKEPHP 3。

因此,您需要告诉browserSync在sass任务结束时重新加载:

gulp.task('sass', function () {  
  gulp.src('webroot/css/style.scss')
    .pipe(sass({includePaths: ['scss']}))
    .pipe(gulp.dest('webroot/css'))
    .pipe(browserSync.reload({stream:true});
});
我解决了它:

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

gulp.task('sass', function () {  
    gulp.src('webroot/css/style.scss')
        .pipe(sass({includePaths: ['scss']}).on('error', sass.logError))
        .pipe(gulp.dest('webroot/css'));
});

gulp.task('browser-sync', function() {  
    browserSync.init(["webroot/css/*.css", "webroot/js/*.js"], {
        proxy   : "http://cake.dev/",
    });
});

gulp.task('default', ['sass', 'browser-sync'], function () {  
    gulp.watch("webroot/css/*.scss", ['sass']);
});
您不必在browserSync init中使用服务器{//…},因为这是为了创建服务器。相反,如果你在wamp上,你必须使用简单的代理。。。如果你有一个虚拟主机,你必须修改它并用require local替换require all,我认为

如果您在写入SCS并保存它时出错,on error条件是不停止程序

所以你可能会犯错误,但你有责任去了解它


谢谢大家。希望有一天这能帮助别人。

是的,谢谢!但是.pipebrowserSync.reload{stream:true};不会改变任何事情。此外,当浏览器打开时,我没有browsersync的通知。