gulp-angular-templatecache 找不到它创建的模板文件

gulp-angular-templatecache fails to find the the template file it creates

我们正在使用 AngularJS 和 ASP.NET Web API 开发 Web 应用程序。有一台使用 GoCD 设置的开发机器,它在每次提交到我们 github 存储库中的开发分支后部署应用程序。我们正在使用 gulp 构建前端,但在最后一次提交后,其中一项任务未能完成。

很明显,这个特定的提交与它无关,因为它只是一个微不足道的 9 行 css 修复。与所有逻辑相反,我们决定恢复,但没有帮助。 Gulp 在 Windows 10 和 Linux 上运行良好,但在 Windows Server 2012 上失败。目前尚不清楚原因,因为它在 3 个月内运行良好。

失败的任务:

gulp.task('partials', function () {
  return gulp.src([
    path.join(conf.paths.src, '/app/**/*.html'),
    path.join(conf.paths.tmp, '/serve/app/**/*.html')
  ])
  .pipe($.minifyHtml({
    empty: true,
    spare: true,
    quotes: true
  }))
  .pipe($.angularTemplatecache('templateCacheHtml.js', {
    module: 'portal',
    root: 'app'
  }))
  .pipe(gulp.dest(conf.paths.tmp + '/partials/'));
});

angularTemplateCache 失败并显示找不到“..src/app/templateCacheHtml.js”的错误消息,但这是它应该创建的文件,然后移动到“/partials/templateCacheHtml.js” '.

我们已经尝试找到一些线索来说明是什么原因造成的,但没有任何东西与该问题有任何关联。它在我们的本地机器上完美运行。

GitHub 上有一个未解决的问题正在讨论这个确切的问题:https://github.com/miickel/gulp-angular-templatecache/issues/124

显然 gulp-header(gulp-angular-templatecache 的依赖项)昨天更新了,似乎破坏了插件。

将以下内容添加到您的 package.json:

"gulp-header": "1.8.2",

和 运行 "npm install" 应该可以解决问题。