【问题标题】:Gulp watch doesn't recompileGulp watch 不会重新编译
【发布时间】:2016-04-27 16:58:59
【问题描述】:

我有一个任务:

gulp.task('styles', ['cleanup'], function () { 
'use strict';
log('Compiling Less files to :' + config.temp);

return gulp
    .src(config.less)
    .pipe(less())
    .pipe(autoprefixer({browsers: ['last 2 versions', '> 5%']}))
    .pipe(gulp.dest(config.temp));
});

当我手动调用它时,这个任务就像它应该的那样工作。它会删除 config.temp 中的文件(代码 sn-p 中未显示)并将 less 重新编译为 css 并再次将其放置在 config.temp 目录中。

问题是当我尝试在 gulp.watch 中运行此任务时:

gulp.task('watch', function() {
    gulp.watch(config.less, ['styles']); 
});

任务不再起作用。我可以看到 gulp 拾取了我在 less 文件中所做的更改,我看到了日志输出,没有错误,但任务仍然没有真正发生。我的 css 输出保持不变。

任务没有真正执行的另一个迹象是 gulp 花费的时间;当我手动操作时,需要更长的时间:

那么当 gulp watch 运行相同的任务时:

我一直在关注一个做同样事情的教程,我有一些示例文件也使用 gulp.watch 和工作。

我看到有人提到 gulp-watch,但我不确定它是否与 gulp.watch 相同?

希望有人可以向我指出一些明显的错误。

【问题讨论】:

标签: gulp


【解决方案1】:

我希望我可以删除这个问题,因为显然没有任何问题:Webstorm 刷新本身太慢了,所以我一直认为 .css 文件没有改变。我只需要等待大约 45 秒。很抱歉浪费了网络空间!

【讨论】:

    【解决方案2】:

    一些尝试:

    1. 试试我在cmets中提到的调试

    2. styles 任务中添加这个,在你输入源代码之后。
      .pipe($.plumber()) // exit gracefully if something fails after this

    另外,请确保检查您的 gulp 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-03
      • 2016-09-22
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2015-02-09
      相关资源
      最近更新 更多