【问题标题】:gulp.watch doesn't catch a new filesgulp.watch 没有捕获新文件
【发布时间】:2015-04-21 19:44:01
【问题描述】:

我有以下 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']);

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

问题是 watch 任务没有捕获任何新的咖啡文件。编辑或删除的咖啡文件处理得很好。根据以下issue 它应该可以工作。是什么原因?

【问题讨论】:

    标签: javascript coffeescript gulp


    【解决方案1】:

    使用 gulp-watch 模块解决:

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

    问题是如何删除 dist 文件夹中已删除的 assets 文件夹中的文件?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      • 2013-01-01
      • 2014-07-10
      • 1970-01-01
      • 2014-04-18
      • 2020-07-23
      • 1970-01-01
      相关资源
      最近更新 更多