Gulp smoosher任务在gulp init上运行良好但在运行时不会更新

时间:2015-08-10 15:16:32

标签: gulp gulp-watch

我使用gulp smoosher将内联CSS文件中的内容注入我的index.html文件的副本。

这在gulp init上工作正常,但是在运行时我无法通过更新我的CSS文件来触发/生成任何更新。

我目前正在尝试使用以下内容:

var gulp = require('gulp');
var autoprefix = require('gulp-autoprefixer');
var smoosher = require('gulp-smoosher');

var cssDir = 'assets/src/css';
var cssTargetDir = 'assets/build/css';
var htmlSrcDir = 'assets/src';

gulp.task('css', function() {
  gulp.src(cssDir + '/**/*.css')
    .pipe(autoprefix({
            browsers: ['last 40 versions'],
            cascade: false
        }))
    .pipe(gulp.dest(cssTargetDir));
});

gulp.task('smoosher', ['css'], function () {
    gulp.src(htmlSrcDir + '/index.html')
        .pipe(smoosher({
            base: 'assets/build/' //target and inject from build CSS
        }))
        .pipe(gulp.dest('')); //root
});

gulp.task('watch', function(){
    gulp.watch(cssDir + '/*.css', ['css']);
    gulp.watch(htmlSrcDir + '/index.html', ['smoosher']);
})

gulp.task('default', [
    'css',
    'smoosher',
    'watch'
]);

1 个答案:

答案 0 :(得分:1)

您应该更改手表以便浏览css文件而不是index.html

请记住要注意更改的来源,而不是最终结果

gulp.task('watch', function(){
    gulp.watch(cssDir + '/*.css', ['css']);
    gulp.watch(cssDir + '/*.css', ['smoosher']);
})