5

我正在使用 gulp 来观看某些文件并运行某些任务,但是在前几次运行之后,它似乎停止了观看。如果我将 html 文件保存在 pages 目录中,在前两到五次更新之后,模板任务似乎停止运行。我在下面包含了我的 gulpfile。

// Include gulp
var gulp = require('gulp');

// Include plugins
var jshint  = require('gulp-jshint');
var sass    = require('gulp-sass');
var notify  = require('gulp-notify')
var htmlv   = require('gulp-html-validator')
var swig    = require('gulp-swig');
var plumber = require('gulp-plumber');

// Linting
gulp.task('lint', function() {
    return gulp.src('js/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'));
});

gulp.task('sass', function() {
    return gulp.src('./resources/scss/*.scss')
        .pipe(sass()
            .on('error', notify.onError(function(error) {
                return 'Error: ' + error.message;
            }))
         )
        .pipe(gulp.dest('./css'));
});

gulp.task('validate', function() {
    return gulp.src('./**.html')
        .pipe(htmlv({format: 'xhtml'}))
        .pipe(gulp.dest('./validation_out'));
});

gulp.task('watch', function() {
    gulp.watch('js/*.js', ['lint']);
    gulp.watch('./resources/scss/*.scss', ['sass']);
    gulp.watch('./pages/*.html', ['templates']);
});

gulp.task('templates', function() {
    return gulp.src('./pages/*.html')
        .pipe(swig({
            load_json: true,
            defaults: {
                cache: false
                }
            }
        ))
        .pipe(gulp.dest('.'));
});

gulp.task('default', ['lint', 'sass', 'templates', 'watch']);
4

0 回答 0