首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问由gulp灰色物质插件创建的数据对象(当使用nunjucks编译html文件时)

如何访问由gulp灰色物质插件创建的数据对象(当使用nunjucks编译html文件时)
EN

Stack Overflow用户
提问于 2016-04-06 16:38:45
回答 1查看 458关注 0票数 1

我使用忍者-渲染作为前端JavaScript模板引擎。

我想从某些.nunjuck文件中读取正面数据,然后在将我的.nunjuck (模板)文件编译成.html文件时使用这些数据。

经过一些研究,我发现吞咽灰质是一个更快更好的额叶物质提取插件。

我的问题是:我现在如何访问额叶数据对象?

例如,我会将正面事件写入.nunjucks文件,如下所示:

代码语言:javascript
复制
---
title: Welcome to ACME Co.
---

<title>{{ data.title }}</title>

最后的HTML输出应该是:

代码语言:javascript
复制
<title>Welcome to ACME Co.</title>

我的gulfile.js设置如下:

代码语言:javascript
复制
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));
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-06 17:26:47

默认情况下,gulp-gray-matter将所有前端数据存储在流中每个文件的data属性中。

默认情况下,gulp-nunjucks-render使用流中每个文件的data属性中存在的数据。

所以你不必在你的古尔普文件里做任何花哨的事。这将起作用:

代码语言:javascript
复制
gulp.task('nunjucks', function(){
    return gulp.src('src/templates/**/*.nunjucks')
        .pipe(gulpGrayMatter())
        .pipe(nunjucks()) 
        .pipe(gulp.dest('dest'));
});

但是,您必须正确地访问.nunjuck模板中的数据:

代码语言:javascript
复制
---
title: Welcome to ACME Co.
---

<title>{{ title }}</title>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36457216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档