Gulp模板缓存任务不一致,无法工作

Gulp模板缓存任务不一致,无法工作,gulp,browserify,Gulp,Browserify,我正在执行一系列吞咽任务,但由于某些原因,模板缓存有时只添加到我的最终js文件中 我的控制台看起来不错-没有任务完成得太迟或太早: [10:44:50] Starting 'styles'... [10:44:50] Finished 'styles' after 7.66 ms [10:44:50] Starting 'scripts'... [10:44:50] Starting 'template-cache'... [10:44:50] Finished 'template-cache'

我正在执行一系列吞咽任务,但由于某些原因,模板缓存有时只添加到我的最终js文件中

我的控制台看起来不错-没有任务完成得太迟或太早:

[10:44:50] Starting 'styles'...
[10:44:50] Finished 'styles' after 7.66 ms
[10:44:50] Starting 'scripts'...
[10:44:50] Starting 'template-cache'...
[10:44:50] Finished 'template-cache' after 7.83 ms
[10:44:50] Finished 'scripts' after 58 ms
[10:44:50] Starting 'pack'...
[10:44:50] Starting 'jam'...
[10:44:50] Finished 'pack' after 681 ms
[10:44:50] Finished 'jam' after 614 ms
[10:44:50] Starting 'default'...
[10:44:50] Finished 'default' after 4.56 ╬╝s
这是我的模板缓存函数

    function buildTemplateCache(module) {
  return {
    src: dir.src + '/' + module + '/**/*.html',
    dest: dir.tmp + '/' + module,
    options: {
      module: 'balances.' + module,
      moduleSystem: 'Browserify',
      root: dir.mapping + '/' + module,
      templateHeader: "primeTemplateCache; primeTemplateCache.inject = ['$templateCache']; function primeTemplateCache($templateCache) {",
      templateFooter: '}'
    }
  };
}
这是第一个电话:

gulp.task('default', ['styles', 'pack', 'jam']);
以下是相关的吞咽任务:

gulp.task('pack', ['scripts', 'template-cache'], function (callback) {
  webpack(config.webpack.packs, callback);
});
gulp.task('jam', ['scripts', 'template-cache'], function (callback) {
  var jams = config.webpack.packs.map(minifyPack);
  webpack(jams, callback);
});
gulp.task('template-cache', function () {
  return Q.all(config.templateCache.caches.map(function (cacheConfig) {
    return gulp
      .src(cacheConfig.src)
      .pipe(templateCache(cacheConfig.options))
      .pipe(gulp.dest(cacheConfig.dest));
  }));
});
以前有人遇到过这样的问题吗?它似乎只是有时添加模板,而不是其他模板。其他一切都如预期的那样,100%的时间都在那里


起初我认为这是一个缓存或同步问题,但在查看日志并尝试复制了几天之后,我找不到一种一致的方法

我相信
gulp.src
返回的是一条流,而不是承诺。因此,
Q.all
将始终在下一个刻度期间解析。我认为您需要的不是
Q.all
,而是类似于
es.merge
from或
combiner.obj
from的内容


这看起来很有效,谢谢!我想我也可以倾听流事件的“结束”,并以这种方式解决承诺,但这种方式也同样有效。谢谢!
var es = require('event-stream');
gulp.task('template-cache', function () {
  return es.merge(config.templateCache.caches.map(function (cacheConfig) {
    return gulp
      .src(cacheConfig.src)
      .pipe(templateCache(cacheConfig.options))
      .pipe(gulp.dest(cacheConfig.dest));
  }));
});