如何访问由gulp-grey-matter插件创build的数据对象(使用nunjuck编译html文件时)
我正在使用nunjucks渲染作为前端JavaScript模板引擎。
我想从某些.nunjuck文件中读取正面的问题数据,然后在将.nunjuck(模板)文件编译成.html文件的同时使用这些数据。
经过一番研究,我发现吞咽灰色物质是更快更好的前端物质提取插件之一。
我的问题是:我现在如何访问前端数据对象?
例如,我会在.nunjucks文件中写下前面的内容:
--- title: Welcome to ACME Co. --- <title>{{ data.title }}</title>
最终的HTML输出应该是:
<title>Welcome to ACME Co.</title>
我的gulfile.js设置如下:
var gulp = require('gulp'), nunjucks = require('gulp-nunjucks-render') gulpGrayMatter = require('gulp-gray-matter'); gulp.task("nunjucks", function(){ return gulp.src(src/templates/**/*.+(nunjucks|njk)) .pipe(gulpGrayMatter()) //send files through gray-matter plugin to extract frontal-matter .pipe(nunjucks({ path: src/templates })) .pipe(gulp.dest(src)); });
默认情况下, gulp-gray-matter
将所有前端数据存储在stream中每个文件的data
属性中。
默认情况下gulp-nunjucks-render
使用stream中每个文件的data
属性中存在的data
。
所以你不必在你的Gulp文件中做任何事情。 这将工作:
gulp.task('nunjucks', function(){ return gulp.src('src/templates/**/*.nunjucks') .pipe(gulpGrayMatter()) .pipe(nunjucks()) .pipe(gulp.dest('dest')); });
您必须正确访问.nunjuck
模板中的数据:
--- title: Welcome to ACME Co. --- <title>{{ title }}</title>