哈羅大家好,之前造了JS模板輪子Otmpl,雖然勉強算不錯,但是和MVC Razor的簡潔優雅相比,簡直是慘不忍睹。經過幾天的研究,終於在參考國外一些牛人的代碼后,展現出第一版,歡迎各位園友拍磚討論。
支持的 Razor 特性
- if-else 判斷。
- do-while 循環。
- while 循環。
- for 循環。
- helper 方法。
- `*注釋*`。
示例代碼1(為了在MVC中使用,我采用Esc鍵下面的“`”符號代替“@”。

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>基於 JS 的微型 Razor 引擎</title> <script src="jquery-1.8.3.js"></script> <script src="script/Razor.base.js"></script> <script type="text/javascript"> $(function () { var model = { id: 5, userID: 1, message: '基於 JS 的微型 Razor 引擎', date: Date.now() }; $.razorAll(model); }); </script> </head> <body> `helper test(index){ return index; } `for(var index = 0;index < model.id; index++ ){ <span>`(">"+index)</span> } `if(model.userID == 1){ <h1>用戶編號是1</h1> } `if(model.message){ <h2>`model.message</h2> } `if(model.date){ <h3>`model.date</h3> } </body> </html>
下載
【
點此下載】這個版本還不是很成熟,代碼沒有經過混淆,如果你不喜歡“`”,可以修改scripts/Razor.base.js的“razorAnchor”配置。關於Razor的相關語法我就不多介紹了。
如果你有更好的優化意見,請留言!如果你喜歡這篇文章,請推薦~