繁体   English   中英

gulp.watch没有捕获新文件

[英]gulp.watch doesn't catch a new files

我有以下gulpfile

var gulp = require('gulp');
var clean = require('gulp-clean');
var rename = require('gulp-rename');
var coffee = require('gulp-coffee');
var cache = require('gulp-cached');
var path = require('path');

var dist = './Test/public/';
var assets = './Test/assets/';

var paths = {
    coffee: ['./**/*.coffee']
};

var coffeeTask = function () {
        console.log('coffeeTask');
        return gulp.src(paths.coffee, { cwd: assets + '**' })
            .pipe(cache('coffee'))
            .pipe(coffee({ bare: true }))
            .pipe(rename({
                extname: ".coffee.js"
            }))
            .pipe(gulp.dest(dist));
};

gulp.task('clean', function() {
    return gulp.src(dist)
        .pipe(clean());
});

gulp.task('coffee', ['clean'], coffeeTask);
gulp.task('coffee-watch', coffeeTask);

gulp.task('build', ['clean', 'coffee']);

gulp.task('watch', ['build'], function() {
    var w = gulp.watch(paths.coffee, ['coffee-watch']);
    w.on('change', function(evt) {
        console.log(evt);
    });
});

gulp.task('default', ['build']);

此配置的关键点是使用相同的任务来部署和监视流程(请阅读“构建”和“监视”任务)。

问题在于,监视任务不会捕获任何新的咖啡文件。 编辑或删除的咖啡文件将得到很好的处理。 根据以下问题,它应该可以工作。 是什么原因

通过使用gulp-watch模块解决:

watch(paths.coffee, function(evt) {
    gulp.start('coffee-watch');
});

问题不在于如何删除dist文件夹中Assets文件夹中已删除的文件?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM