我有一个部分显示名称的有线问题,而不是环回中的模板本身。由于某种原因,部分人没有登记。以下是我的代码......我确信我错过了一些东西,但却无法弄明白。所有人都很感激。我使用快速把手作为环回和把手之间的桥梁
在server.js中,我有以下代码
var handlebars = require('handlebars');
var exphbs = require('express-handlebars');
var hbs = exphbs.create({
defaultLayout : '',
helpers : {},
extname : 'handlebars'
});
app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');
app.set('views', __dirname + '/../client/views');
以下是我的快递路由器代码......
router.get('/', function(req, res) {
res.render('index', {
partials: {
mypartial : 'awesomepartial'
},
});
});
...以及索引页面中的部分标记。部分页面只是简单的HTML代码
{{> mypartial}}
....当索引模板被执行时,而不是看到来自awesomepartial.handlebars模板的文本(与index.handlebars位于同一目录中),我看到以下文字
awesomepartial
我可能做错了什么?为什么把手发回部分名称而不是模板代码。我尝试了各种组合,这让我相信路径可能不是问题。
答案 0 :(得分:3)
以下是工作代码......
var handlebars = require('handlebars');
var exphbs = require('express-handlebars');
var hbs = exphbs.create({
defaultLayout : '',
helpers : {},
partialsDir : __dirname + '/../client/views',
extname : 'handlebars'
});
app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');
app.set('views', __dirname + '/../client/views');
router.get('/', function(req, res) {
res.render('index', {
mypartial : 'awesomepartial'
});
});
{{> (lookup . 'mypartial'}}
答案 1 :(得分:0)
我相信你需要使用动态部分,这样就完成了:
{{> (mypartial)}}
基本上只是用parens包装变量。请参阅" Dynamic Partials"的文档。在这里:http://handlebarsjs.com/partials.html