我有以下gulp任务:
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/'));
});
Run Code Online (Sandbox Code Playgroud)
哪个尝试编译这个玉文件:
#{something.anything}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行任务时,玉器任务退出而没有完成:
$ gulp jade
[14:39:24] Using gulpfile ~/path/gulpfile.js
[14:39:24] Starting 'jade'...
$
Run Code Online (Sandbox Code Playgroud)
并且不生成输出文件.
我显然遗漏了一些明显的东西,但我不知道是什么.搜索"gulp task not finishing"之类的内容只会产生大量讨论永不完成的任务的结果.
我正在运行最新版本的gulp,gulp-jade和gulp-data(3.8.11,1.0.0和1.2.0).
如果我将管道移除到数据,一切正常.我已经尝试修改对数据的调用,甚至需要像gulp-data示例中那样有效的json文件,但它仍然无法工作.
为什么在没有完成任务的情况下退出并且没有看似任何错误?
问题是,你的.jade文件中有一个错误导致gulp-jade抛出错误.理想情况下,gulp-jade会抛出一个更友好的gulp错误,为您提供更多信息,而不仅仅是一个空白屏幕,但是,由于它不是,您需要自己处理此错误.您可以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/'));
});
Run Code Online (Sandbox Code Playgroud)
如果您有兴趣,请参阅gulp中有关此错误管理问题的更多详细信息.
| 归档时间: |
|
| 查看次数: |
2927 次 |
| 最近记录: |