我工作的一個節點/快遞/車把應用程序,我只是發現了有關自定義的助手,但我不知道在哪裏定義它們。節點/快速把手 - 在哪裏可以定義自定義的助手
我嘗試添加一些實際的視圖模板HBS文件中<script>
標籤,像這樣:
<script type="text/javascript">
Handlebars.registerHelper('if', function(conditional, options) {
console.log("IN HANDLEBARS HELPER");
if (conditional) {
return options.fn(this);
} else {
return options.inverse(this);
}
});
</script>
但我得到一個未捕獲的ReferenceError:未定義把手。
我也發現了這個JSFiddle,但我沒有任何看起來像我的應用程序代碼。我也看了十幾個教程,但他們幾乎說的官方文檔做同樣的事情。
所以我在哪裏包括在節點/快遞應用的正是這種代碼?
如果任何人都可以在這個問題上提供一些線索,我們將不勝感激。
編輯: 我不知道這是正確的方式,但你可以把它放在你的app.js您設置的視圖引擎後:
var hbs = require('hbs');
hbs.registerHelper('test', function(conditional, options) {
//do something
if (conditional) {
return options.fn(this);
} else {
return options.inverse(this);
}
});
如果這是不正確或由於某種原因有問題,請讓我知道。
如果您在服務器端渲染它,則需要在服務器上進行設置。 –