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++ ){
        >`(">"+index)span>
    }
    `if(model.userID == 1){
        <h1>用户编号是1h1>
    }
    `if(model.message){
        <h2>`model.messageh2>
    }
    `if(model.date){
        <h3>`model.dateh3>
    }
body>
html>
View Code
下载
【 点此下载】这个版本还不是很成熟,代码没有经过混淆,如果你不喜欢“`”,可以修改scripts/Razor.base.js的“razorAnchor”配置。关于Razor的相关语法我就不多介绍了。
如果你有更好的优化意见,请留言!如果你喜欢这篇文章,请推荐~

转载于:https://www.cnblogs.com/sofire/p/razorjs_v1_0.html

你可能感兴趣的:(Razor.js,基于JavaScript的Razor实现)