【问题标题】:<title>Handlebars variable {{page}}</title></head> from panini in head tiile-tag is a key of the object from data.JSON<title>Handlebars 变量 {{page}}</title></head> 来自头部标题标签中的 panini 是来自 data.JSON 的对象的键
【发布时间】:2016-06-01 21:37:56
【问题描述】:

您好,我有 JSON 文件:

{
	"index" : "Main page",
	"contacts" : "Find me!",
}

有一个与 panini(ZF) 一起使用的车把模板:

<!doctype html>
<html lang="ru">
<head>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.3/normalize.min.css">
    <meta charset="utf-8" />
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    {{#if page}}
        <title>{{lookup data.this}}</title> 
        <link rel="stylesheet" href="assets/css/screen.css" />
    {{/if}}

panini 中的 {{page}} 是通过模板的页面的名称(不带扩展名)。 而且我不知道如何编写正确的模板来从数据对象中按键获取值。我想它就像解析 index.html panini 变量 page 的值“index”,contacts.html - “contacts” 并且标题标签中的魔法就像这个 data.index 一样工作。

这不会在真实服务器上运行。它应该只在本地计算机上工作,以帮助进行快速开发。

必须开启魔法的脚本:

//part of the gulpfile.js

gulp.task('pages', ['jade'], function() {
  return gulp.src('src/pages/**/*.{html,hbs,handlebars}')
    .pipe(panini({
      root: 'src/pages/',
      layouts: 'src/layouts/',
      partials: 'src/partials/',
      data: 'src/data/',
      helpers: 'src/helpers/'
    }))
    .pipe(gulp.dest('dist'));
});

//part of the gulpfile.js

【问题讨论】:

  • 能否提供您用来尝试渲染模板的脚本?
  • 是的,我更新了我的问题。

标签: json gulp handlebars.js


【解决方案1】:

Lookup helper 语法如下:{{lookup data page}},如果您的 data.json 有这样的内容,它应该可以正常工作:

{
  "index": "main page title",
  "contact": "Contact page title"
}

【讨论】:

    猜你喜欢
    • 2014-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多