2012-03-01 19 views

回答

2

Blade是一個類似Jade的HTML模板引擎,它具有內置的中間件,用於爲客戶端提供已編譯的模板。 :) 一探究竟!

13

是的,你可以! https://github.com/techpines/asset-rack#jadeasset

我剛剛打開源文件「asset-rack」,這是一個nodejs項目,它可以預編譯jade模板並在瀏覽器中將它們作爲javascript函數提供。

這意味着渲染速度非常快,甚至比微模板更快,因爲瀏覽器中沒有編譯步驟。

首先,你將它設置在服務器上,如下所示:

new JadeAsset({ 
    url: '/templates.js', 
    dirname: __dirname + '/templates' 
}); 

如果你的模板目錄是這樣的:

templates/ 
    navbar.jade 
    user.jade 
    footer.jade 

然後所有的模板,將根據變量「模板瀏覽器「:

$('body').append(Templates.navbar()); 
$('body').append(Templates.user({name: 'mike', occupation: 'sailor'}); 
$('body').append(Templates.footer()); 
4
#coffeescript 
jade = require 'jade' 
data = '#menu' 
options = 
    client: true 
    compileDebug: false 
fn = jade.compile data, options 
console.log fn.toString() 
+2

-1使用coffeescript。 – 2013-09-18 20:40:31

+2

使用CoffeeScript的+1。即使你不喜歡CoffeeScript,爲什麼要這麼做呢?這個問題在回答這個問題時已經被標記爲答案,因此它可以幫助任何稍後可能會遇到的人。 – Jordan 2014-07-20 23:22:33

2

這個問題是有點過時,反而有編制玉模板的方法,

var jade = require('jade'); 
var fn = jade.compile(jadeTemplate); 
var htmlOutput = fn({ 
    maintainer: { 
    name: 'Forbes Lindesay', 
    twitter: '@ForbesLindesay', 
    blog: 'forbeslindesay.co.uk' 
    } 
}) 

也是剛剛纔the tutorial和搜索編譯,或the API

jade.compile(source, options) 

請務必設置,compileDebug所以你得到的源代碼,

將此項設置爲false以禁用調試工具(在生產中推薦)。將其設置爲true以在編譯模板中包含函數源以獲得更好的錯誤消息(有時在開發中有用)。

相關問題