Gulp Browsersync不会在wamp上刷新
我有一个小问题,我从几个小时以来一直在战斗。我想使用gulp来观看scss文件,将它们转换为css,然后重新加载浏览器 它一直工作到重新加载浏览器。所以sass使用的是gulp,而不是Browsersync。这是我的gulpfile.js,也许有人能帮忙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
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的通知。