我的任务如下:
var jade = require('gulp-jade');
var data = require('gulp-data');
gulp.task('jade', function(done) {
return gulp.src(paths.jade)
.pipe(data(function(){}))
.pipe(jade())
.pipe(gulp.dest('./www/templated/'));
});它试图编译这个玉器文件:
#{something.anything}但当我试图运行任务时,玉石任务没有完成就退出了:
$ gulp jade
[14:39:24] Using gulpfile ~/path/gulpfile.js
[14:39:24] Starting 'jade'...
$并且没有生成输出文件。
我显然错过了一些显而易见的东西,但我说不出是什么。搜索“吞咽任务未完成”等只会产生许多讨论永远不会完成的任务的结果。
我正在运行最新版本的gulp,gulp和gulp (3.8.11,1.0.0和1.2.0)。
如果我将管道移到数据中,一切都正常。我已经尝试过修改对数据的调用,甚至需要一个有效的json文件,就像吞咽数据示例中的那样,但是它仍然不能工作。
为什么没有完成任务,而且似乎没有任何错误,就一饮而尽?
发布于 2015-02-24 20:47:14
问题是,您的.jade文件中有一个错误,它导致gulp-jade抛出一个错误。理想情况下,gulp-jade会抛出一个更友好的错误,给你的信息不仅仅是一个空白的屏幕,但是,因为它不是,你需要自己处理这个错误。您既可以使用gulp-plumber,也可以手动处理直接来自特定管道的错误,如下所示:
var gutil = require('gulp-util');
gulp.task('jade', function() {
return gulp.src(paths.jade)
.pipe(jade())
.on('error', gutil.log)
.pipe(gulp.dest('./www/templated/'));
});如果您感兴趣,这里有关于这个gulp中的错误管理问题的更多细节。
https://stackoverflow.com/questions/28705672
复制相似问题