咕噜玉报告错误,如'不能读取属性'xxx'未定义'

当我使用gulp-jade@1.1.0来编译“index.jade”

<!DOCTYPE html> html(lang="en") head meta(charset="UTF-8") title Document body - var json = {'foo': 'bar'} include template 

包括“template.jade”

 h1= json.foo 

g蛤蟆总是报错

 [15:11:34] Starting 'jade'... [15:11:34] Starting 'sass'... [15:11:34] Finished 'sass' after 2.68 ms [15:11:34] Plumber found unhandled error: TypeError in plugin 'gulp-jade' Message: C:\Users\Administrator\Desktop\workspace\node\src\jade\template.jade:1 > 1| h1= json.foo Cannot read property 'foo' of undefined Details: path: C:\Users\Administrator\Desktop\workspace\node\src\jade\template.jade [15:11:34] Finished 'jade' after 19 ms 

但编译后的html文件是正确的

 <!DOCTYPE html> <html lang="en"></html> <head> <meta charset="UTF-8"/> <title>Document</title> </head> <body> <h1>bar</h1> </body> 

而我的大文件就是这样写的

 gulp.task('jade', function(){ return gulp.src('src/jade/*.jade') .pipe(plumber()) .pipe(gulpJade({ jade: jade, pretty: true })) .pipe(gulp.dest('build/html')) .pipe(connect.reload()); }); 

一口气尝试分别编译每个模板。

您必须改为只指定入口点( index.jade ):

 gulp.task('jade', function(){ return gulp.src('src/jade/index.jade') .pipe(plumber()) .pipe(gulpJade({ jade: jade, pretty: true })) .pipe(gulp.dest('build/html')) .pipe(connect.reload()); }); 

或从gulp.src中排除template.jade