2012-02-03 133 views
7

我試圖預編譯一個Handlebars.js模板app/views/templates/walrus.handlebar與命令handlebar app/views/templates/walrus.handlebar,但它失敗,因爲模板使用我已經定義在一個單獨的js文件public/javascripts/handlebar_helpers.js定製助手。如果您在Handlebars.js中預編譯自定義幫助程序,您如何註冊自定義幫助程序?

如何調用Handlebars的命令行版本,以便使用自定義幫助程序瞭解JavaScript文件?

+0

你有沒有找到如何做到這一點? – emzero 2014-03-27 22:21:16

回答

5
handlebars <input> -f <output> -k <helper> 

這是在文檔中的位置:http://handlebarsjs.com/precompilation.html

編輯2014年3月:

對於有閱讀文檔的問題的人,這裏的自定義幫手 「全名」

handlebars myTemplate.handlebars -f handlebars-fullname.js -k fullname 

爲例與此幫手:

Handlebars.registerHelper('fullname', function(person) { 
    return person.firstName + " " + person.lastName; 
}); 

你仍然需要在頁面中包含的助手與handlebars.runtime.js

+0

@wusher你的電話是什麼樣的?我不知道-k是如何與自定義助手一起使用的。 – surjikal 2012-10-25 14:42:55

+0

這不適用於定製助手 – Jaseem 2014-02-06 12:05:00

+0

我正在尋找這個答案。 '-k'只適用於本地幫助者,而不是自定義... – emzero 2014-03-27 22:20:58

0
handlebars myTemplate.handlebars -f handlebars-fullname.js -k fullname 

以上步驟不是強制性的一個,你的車把模板會即使你不指定助手名工作期間預編譯,但是下面的代碼(這基本上應該包含所有的傭工)需要在客戶端

Handlebars.registerHelper('fullname', function(person) { 
    return person.firstName + " " + person.lastName; 
}); 

我已經試過了這個插入的,它就像一個魅力!

相關問題