【发布时间】:2016-08-18 16:26:11
【问题描述】:
按照文档:
https://github.com/ericf/express-handlebars
我需要编译一个模板,但没有使用 res.render('myView') 的文档化方法,因为在我的上下文中没有 res。
这是我目前所拥有的:
var express = require('express')
, exphbs = require('express-handlebars');
, hbs = exphbs.create({
extname: '.hbs',
defaultLayout: 'default'
});
app.use(express.static('public'));
app.engine('hbs', hbs.engine);
app.set('view engine', 'hbs');
var tplVars = {
id: 12345,
name: 'John Doe'
}
hbs.handlebars.compile( .. path to pdf.hbs ... )(vars);
现在,显然我需要注册模板。这里缺少什么?
我在 /views 中的文件结构:
views/
layouts/
default.hbs
partials/
css.hbs
pdf.hbs
【问题讨论】:
-
您是否尝试在应用启动时呈现模板?如果是这样,您总是可以将渲染包装在
app.use((req, res, next) => {res.render('view', data)}) -
不,我不是。上面的代码是断章取义的。我所追求的是如何编译具有部分的 Handlebars 模板。我试图避免使用 res.render - 因为在我的上下文中没有 res
-
我不认为您可以使用
express-handlebars编译模板,但您可以使用handlebars编译模板。 stackoverflow.com/a/30032819/710005 -
@SwarajGiri 如果您将您的评论作为答案发表,我会批准它,因为您是对的。这是一个把手工作 - 不适合快速把手。
标签: node.js express handlebars.js