dustjs是一款js模板,最先由我的開發維護,後來由linkin接手,發展的更加迅速,說實話js模板這塊有不少選擇,都很是優秀,和paypal的選擇同樣,最終我使用dustjs做爲個人首選模板語言。dustjs中文的文檔很是少,因此在國內的使用不是不少,這裏幾篇博文有對dustjs語法基本的介紹Dust.js語法簡介(一),Dust.js語法簡介(二),Dust.js語法簡介(三)python
express4.0 默認的模板引擎是jade,jade 剛剛開始用的時候感受像python,有嚴格的語法格式,方便程序員養成良好的編碼習慣,可是在實際使用下就會發現這種強制,在模板端編寫邏輯語言的時候,特別在嵌套判斷的時候會有一些沒法逾越的問題,同時它的性能問題也一直別人詬病。固然你也能夠ejs或者其餘模板,這不是我要闡述的重點。git
若是是現成的express項目或者使用express-genarate生成基本結構以後,在package.json
文件的 dependencies
添加三個依賴。程序員
"dustjs-helpers": "~1.3.0", "dustjs-linkedin": "~2.4.2", "adaro": "^0.1.5"
其中 dustjs-linkedin
是dustjs模板自己,dustjs-helpers
是一些模板的擴展方法,在dustjs官方的文檔中有說明,很是有用,你能夠添加本身的helper方法。而adaro是paypal公司提供的dustjs渲染類庫,可使用它方便的在多個模板引擎中切換,paypal的基於express的web框架krakenjs使用的就是adaro做爲模板管理的工具。github
而後在app的入口代碼處添加模板的使用狀況web
var dustjs = require('adaro'); var app = express(); // 註冊 app.engine("dust",dustjs.dust({ cache: false })); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'dust');
而後在views目錄下使用 添加.dust 後綴的視圖文件。 若是你編寫了本身的helper 那麼須要手動在入口文件處 require一下。express