使用Gulp渲染Jade模板,迭代JSON数组中的项目。
尽我所能,我无法找到一个允许我访问JSON对象中的字段的解决方案。我已经逐字逐句地跟踪了4个单独的教程,我总是最终得到cannot read property 'length' of undefined
。
{
"wishlistItems": [
{
"name": "Boots",
"price": 69.95,
"notes": "Size 10"
}
]
}
doctype html
html
body
ul
each item in wishlistItems
li=item.name
const gulp = require('gulp');
const jade = require('gulp-jade');
const data = require('gulp-data');
gulp.task('default', ['build-jade']);
gulp.task('build-jade', () => {
gulp.src('./src/index.jade')
.pipe(data(file => require('./src/items.json')))
.pipe(jade({locals: {}}))
.pipe(gulp.dest('./dist/'));
});
答案 0 :(得分:2)
与您在乙烯基文件对象gulp-jade
documentation上提供locals
选项全部data
时is ignored所说的内容相反。
这意味着以下工作:
gulp.task('build-jade', () => {
gulp.src('./src/index.jade')
.pipe(data(file => require('./src/items.json')))
.pipe(jade())
.pipe(gulp.dest('./dist/'));
});
如果您想同时提供静态locals
以及每个文件data
,请参阅{{3}中使用gulp-data 下的第三个代码示例}。