Razor.js,基於JavaScript的Razor實現


哈羅大家好,之前造了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>
View Code
下載
點此下載】這個版本還不是很成熟,代碼沒有經過混淆,如果你不喜歡“`”,可以修改scripts/Razor.base.js的“razorAnchor”配置。關於Razor的相關語法我就不多介紹了。
如果你有更好的優化意見,請留言!如果你喜歡這篇文章,請推薦~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM