首页 > gulp 自动刷新页面的问题

gulp 自动刷新页面的问题

大神们,帮我看看为什么sass文件修改2次之后,页面才会更新前一次的修改,就是修改不同步,我的copy任务配置有什么问题吗?

var gulp = require('gulp');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var sourcemaps = require('gulp-sourcemaps');
var inject = require('gulp-inject');
var concat = require('gulp-concat');
var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify');
var htmlhint = require('gulp-htmlhint');
var livereload = require('gulp-livereload');
var webserver = require('gulp-webserver');

var src = {
    scss: './app/sass/**/*.scss',
    css: './app/css/**/*.css',
    cssDir: './app/css',
    js: './app/js/**/*.js',
    html: './app/index.html'
}
var dest = {
    css: './dist/css',
    cssFiles: './dist/css/**/*.css',
    js: './dist/js'
}

gulp.task('sass', function(){
    return gulp.src(src.scss)
        .pipe(sourcemaps.init())
        .pipe(sass())
        .pipe(autoprefixer())
        .pipe(sourcemaps.write())
        .pipe(gulp.dest(dest.css))
        .pipe(livereload());
});


gulp.task('copy', function(){
    gulp.src(dest.cssFiles)
        .pipe(gulp.dest(src.cssDir));
});

gulp.task('inject', function(){
    var target = gulp.src(src.html);
    var sources = gulp.src([src.js, src.css], {read: false},{relative: true});

    return target.pipe(inject(sources))
        .pipe(gulp.dest('./app'));
});

gulp.task('concat', function(){
    return gulp.src(src.js)
        .pipe(concat('all.js'))
        .pipe(gulp.dest(dest.js));
});

gulp.task('jshint', function(){
    return gulp.src(src.js)
        .pipe(jshint())
        .pipe(jshint('./.jshintrc'))
        .pipe(jshint.reporter('default'))
        .pipe(livereload());
});

gulp.task('uglify', function(){
    return gulp.src(src.js)
        .pipe(uglify())
        .pipe(gulp.dest(dest.js));
});

gulp.task('htmlhint', function(){
    return gulp.src(src.html)
        .pipe(htmlhint())
        .pipe(htmlhint.reporter())
        .pipe(livereload());
});

gulp.task('server', function(){
    gulp.src(['./app','./dist'])
        .pipe(webserver({
            livereload: true,
            open: true
        }))
});


gulp.task('watch',['server','sass','copy','jshint','uglify','htmlhint','concat'], function(){
    livereload.listen({basepath: 'app'});
    gulp.watch(src.scss, ['sass','copy']).on('change', livereload);
    gulp.watch(src.js, ['jshint']).on('change', livereload);
    gulp.watch(src.html, ['htmlhint']).on('change', livereload);
    gulp.watch(src.js,['uglify','concat']);
});


copy里没写return,应该加上:

gulp.task('copy', function(){
    return gulp.src(dest.cssFiles)
             .pipe(gulp.dest(src.cssDir));
});
【热门文章】
【热门文章】