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>
下载
【点此下载】这个版本还不是很成熟,代码没有经过混淆,如果你不喜欢“`”,可以修改scripts/Razor.base.js的“razorAnchor”配置。关于Razor的相关语法我就不多介绍了。
如果你有更好的优化意见,请留言!如果你喜欢这篇文章,请推荐~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架