【发布时间】:2015-11-20 20:34:27
【问题描述】:
我是 node.js 的初学者,当我编写一些 .hbs 视图文件时,我看到其他人喜欢渲染像 {{name}} 这样的变量。但我不知道如何渲染变量将其他json文件存储到hbs模板中。
我有一些语言 .json 文件
{
"name" : "English",
"layout" : "Layout",
"centered" : "Centered",
"streched" : "Streched",
"theme" : "Theme",
"language" : "Language",
"login" : "Login",
"logout" : "Logout",
"username" : "Username",
}
如何将变量渲染到我的 .hbs 模板中
{{#languages}}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{{string.language}} <b class="caret"></b></a>
<ul id="x-lang" class="dropdown-menu">
{{#language}}
<li><a href="#{{key}}">{{name}}</a></li>
{{/language}}
</ul>
</li>
{{/languages}}
我需要在 app.js 中写一些代码吗?
【问题讨论】:
-
能否在实际编译模板并传入数据的地方添加代码?
-
这些代码来自github.com/simov/express-admin,你能通过它查到吗?
-
这样就达不到目的了。我不会去筛选一些你的工作的文档。它们需要是单独的 JSON 文件吗?如果您想在其他软件中存储数据,最好 module.export 一个对象并在您将数据传递给 HBS 模板的地方使用它。
-
要让节点从该文件中为您提供一个对象,您需要从您的 JSON 对象中删除尾随逗号,然后 var fs = require('fs'); var obj = JSON.parse(fs.readFileSync('./language.json'))
-
你有一个叫语言的助手吗?
标签: json node.js express handlebars.js