javascript - Gulp 陷入无限循环

标签 javascript gulp

我在一个 Express 应用程序项目上设置了 Gulp,它确实可以很好地监视我的 JS 文件并检查这些文件,然后将它们注入(inject)到我的布局文件和所有内容中。 Gulpfile.js 还使用wiredep 和我使用 gulp-inject 确定的其他文件为我注入(inject)了 Bower 依赖项。所有这些都按计划进行。

但是,当我添加 typescript 编译任务时,我陷入了无限循环。我的文件中是否缺少某些内容可以阻止这种情况发生? Here's the link to the Gulpfile in a gist .

感谢您的帮助!

最佳答案

我也遇到了 gulp 和 typescript 的问题。 Gulp没有等待typescript编译任务完成就开始观察js文件,当它们生成时,我的页面被刷新了多次。

我设法通过创建并返回一个 promise 而不是一个流来解决这个问题。

var Q = require('q');

gulp.task('typescript', function() {
    var d = Q.defer();

    var result = tsProject.src(paths.typescript)
        .pipe(ts(tsProject));

    result.js.pipe(gulp.dest('server/public/app/'));

    result
        .on('end', d.resolve)
        .on('error', d.reject);

    return d.promise;
});

希望这可以帮助你。

关于javascript - Gulp 陷入无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36312805/

相关文章:

javascript - 基于范围内的数据而不是完整数据集计算线性回归

javascript - 使用 JavaScript 非阻塞地附加 DOM 元素

javascript - 间歇性 "Not a Product"Javascript 错误

node.js - Gulp - 如何发现相对路径深度?

javascript - gulp-sass:如何禁用添加背景图像的前缀路径

javascript - JavaScript 中的 'click()' 是什么

javascript - Lightslider 和 mootols 不能一起工作,

javascript - 从 Jasmine 测试中引用 JavaScript 文件

database - 为 gulp/knex 创建/删除数据库任务

javascript - gulp-ruby-sass 的语法错误似乎不正确