Sass 狼吞虎咽的livereload问题(保存两次)
我最近从grunt切换到了gulp,到目前为止,我已经成功地配置了gulp来做我想做的事情。我唯一的问题是livereload,我发现我必须保存两次才能在浏览器中查看编译的SAS。Sass似乎被推迟了 有没有办法确保livereload在编译sass之前不会执行?这是我的配置:Sass 狼吞虎咽的livereload问题(保存两次),sass,gulp,watch,livereload,Sass,Gulp,Watch,Livereload,我最近从grunt切换到了gulp,到目前为止,我已经成功地配置了gulp来做我想做的事情。我唯一的问题是livereload,我发现我必须保存两次才能在浏览器中查看编译的SAS。Sass似乎被推迟了 有没有办法确保livereload在编译sass之前不会执行?这是我的配置: // Dependencies var gulp = require('gulp'); var watch = require('watch'); var livereload = requi
// Dependencies
var gulp = require('gulp');
var watch = require('watch');
var livereload = require('gulp-livereload');
var sass = require('gulp-sass');
var prefix = require('gulp-autoprefixer');
var cssmin = require('gulp-cssmin');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
var plumber = require('gulp-plumber');
var notify = require('gulp-notify');
onError = function(error){
notify.onError({
title: "Gulp",
subtitle: "Failure!",
message: "<%= error.message %>",
sound: "Beep"
})(error);
this.emit('end');
};
// Watch
gulp.task('watch', function(){
gulp.watch('src/css/**/*.scss', ['sass']).on('change', livereload.changed);
gulp.watch('src/js/**/*.js', ['concat']).on('change', livereload.changed);
gulp.watch('*').on('change', livereload.changed);
});
// Sass
gulp.task('sass', function(){
gulp.src('src/css/style.scss')
.pipe(plumber({errorHandler: onError}))
.pipe(sass({style: 'expanded'}))
.pipe(prefix('last 4 versions', 'ie 8', 'ie 9'))
.pipe(gulp.dest('src/css/build'))
.pipe(cssmin())
.pipe(rename({suffix:'.min'}))
.pipe(gulp.dest('dist/css'))
});
// Concat
gulp.task('concat', function(){
gulp.src(['src/js/models/*.js', 'src/js/views/*.js', 'src/js/controllers/*.js'])
.pipe(plumber({errorHandler: onError}))
.pipe(concat('main.js'))
.pipe(gulp.dest('src/js/build'))
.pipe(uglify())
.pipe(rename({suffix:'.min'}))
.pipe(gulp.dest('dist/js'))
})
// Default
gulp.task('default', ['watch'], function(){
livereload.listen();
});
//依赖项
var gulp=需要(“gulp”);
var watch=需要(“watch”);
var livereload=需要('GLUP-livereload');
var sass=需要('gulp-sass');
var前缀=require('gulp-autoprefixer');
var cssmin=require('gulp-cssmin');
var rename=require('gulp-rename');
var-uglify=需要('gulp-uglify');
var concat=需要(“咕噜咕噜咕噜”);
var管道工=需要(“大口管道工”);
var notify=需要('gulp-notify');
onError=函数(错误){
通知一个错误({
标题:“大口喝”,
副标题:“失败!”,
消息:“”,
声音:“嘟嘟”
})(错误);
这个.emit('end');
};
//监视
吞咽任务('watch',function(){
大口观看('src/css/***.scss',['sass'])。打开('change',livereload.changed);
大口观看('src/js/***.js',['concat'])。打开('change',livereload.changed);
在('change',livereload.change)上吞下手表('*');
});
//无礼
gulp.task('sass',function(){
gulp.src('src/css/style.scss'))
.管道(管道工({errorHandler:onError}))
.pipe(sass({style:'expanded'}))
.pipe(前缀('last 4 versions'、'ie 8'、'ie 9'))
.pipe(gulp.dest('src/css/build'))
.pipe(cssmin())
.pipe(重命名({后缀:'.min'}))
.pipe(大口目的地('dist/css'))
});
//海螺
吞咽任务('concat',函数(){
gulp.src(['src/js/models/*.js','src/js/views/*.js','src/js/controllers/*.js']))
.管道(管道工({errorHandler:onError}))
.pipe(concat('main.js'))
.pipe(大口目的地('src/js/build'))
.管道(丑()
.pipe(重命名({后缀:'.min'}))
.pipe(大口目的地('dist/js'))
})
//违约
gulp.task('default',['watch',function()){
利弗雷洛德。听();
});
您当前的监视任务是告诉gulp在您的一个sass文件发生更改时立即运行livereload,而不是等待sass任务完成
根据报告:
添加.pipe(livereload())
作为sass
任务的最后一步
从sass文件中删除livereload.change
步骤watch
任务
这将确保在编译css后,livereload步骤始终在sass任务中的最后一步执行。您当前的监视任务是告诉gulp在您的一个sass文件发生更改时立即运行livereload,而不是等待sass任务完成
根据报告:
添加.pipe(livereload())
作为sass
任务的最后一步
从sass文件中删除livereload.change
步骤watch
任务
这将确保在编译css后,livereload步骤始终在sass任务中的最后一步执行。您当前的监视任务是告诉gulp在您的一个sass文件发生更改时立即运行livereload,而不是等待sass任务完成
根据报告:
添加.pipe(livereload())
作为sass
任务的最后一步
从sass文件中删除livereload.change
步骤watch
任务
这将确保在编译css后,livereload步骤始终在sass任务中的最后一步执行。您当前的监视任务是告诉gulp在您的一个sass文件发生更改时立即运行livereload,而不是等待sass任务完成
根据报告:
添加.pipe(livereload())
作为sass
任务的最后一步
从sass文件中删除livereload.change
步骤watch
任务
这将确保在编译css后,livereload步骤将始终在sass任务中的最后一个发生。不是直接回答,但请记住从您的sass
&concat
tasks->return gulp.src返回流(..
不是直接回答,但请记住从您的sass
和concat
任务返回流->返回gulp.src(..
不是直接回答,但请记住从sass
和concat
任务->返回gulp.src(..
不是直接回答,但请记住从您的sass
和concat
任务返回流->返回gulp.src(..