[英]How to register custom Handlebars helpers?
After a long search I still can't seem to find much information on where to put my custom handlebars helpers.经过长时间的搜索,我似乎仍然无法找到有关将自定义车把助手放在哪里的太多信息。 Do I put them in a <script>
in my webpage's .hbs file?我是否将它们放在网页的 .hbs 文件中的<script>
中? Do I put them in app.js?我是否将它们放在 app.js 中? Do I put them in the page's router?我是否将它们放在页面的路由器中?
Here's the helper I'd like to register by the way:顺便说一下,这是我想注册的助手:
Handlebars.registerHelper("last", function(array) {
return array[array.length - 1];
});
I'm assuming once I've put that code somewhere I can just use it on any page by using {{last foo}}
, right?我假设一旦我将该代码放在某个地方,我就可以通过使用{{last foo}}
在任何页面上使用它,对吗?
For an example, you can see the code below:例如,您可以查看以下代码:
var express = require('express');
var app = express();
var expressHbs = require('express-handlebars');
app.engine('.hbs', expressHbs({ defaultLayout: 'layout', extname: '.hbs'}).engine)
app.set('view engine', '.hbs');
var hbs = expressHbs.create({});
// register new function
hbs.handlebars.registerHelper('increasePrice', function(price) {
price+=10;
return price;
})
app.get('/', (req, res) => {
res.render('home', {
layout: false,
totalPrice: 300,
});
})
app.listen(3000, () => {
console.log('Server is up');
});
The code above only an example.上面的代码只是一个例子。
You can see an example on this site: https://codesandbox.io/s/elegant-fog-1n61o你可以在这个网站上看到一个例子: https : //codesandbox.io/s/elegant-fog-1n61o
I hope it can help you.我希望它能帮助你。
if you want use express-handlebars
and register helpers for .hbs
template you can following my answered.如果你想使用express-handlebars
并为.hbs
模板注册助手,你可以按照我的回答。
How to make a handlebars helper global (in expressjs)如何使把手助手成为全球性的(在 expressjs 中)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.