JNTemplate 是什么?
极念模板引擎(JNTemplate)是一款完全国产的基于C#语言开发的跨平台的文本解析引擎(模板引擎),它能生成任何基于文本的内容,包括且不限于html,xml,css等,让前端展示与后端代码逻辑分离。同时,它也提供了一个在WebForm与Razor之外的选择!
JNTemplate所有代码全部开源,且具有最小的依赖关系,能轻松实现迁移与跨平台。
从2.0版本开始,引擎全面升级为编译型模板引擎,在性能上得到了更大的提升。
功能特点
• 更快速:高效的IL模板预编译机制,让运行速度接近原生体验。
• 更简单:语法简单易学,有一定前后端基础,最快可以10分钟上手
• 更方便:能自由配置各项参数,扩展自己的标签。
• 更自由:支持商用无须任何费用,所有代码完全开源。
有了Razor为什么还需要JNTemplate
Razor做为微软官方视图引擎,在ASP.NET MVC中,它无疑是最好的选择。但是在某些场景,我们可能需要一款相对灵活,轻量的的模板引擎,所以他们之间是不冲突的。
安装
使用 NuGet安装或者更新:
PM> Install-Package JinianNet.JNTemplate
或者
> dotnet add package JinianNet.JNTemplate
快速开始
基本示例
使用预设的数据渲染模板
c# 代码
var template = Engine.LoadTemplate(@"c:\wwwroot\view\index.html");
template.Set("name", "jntemplate");
var result = template.Render();
模板文件index.html
<!DOCTYPE html>
<html>
<body>
<h1>Hello, ${name}</h1>
</body>
</html>
输出结果:
<!DOCTYPE html>
<html>
<body>
<h1>Hello, jntemplate</h1>
</body>
</html>
使用foreach快速迭代一个列表
C# 代码
var template = Engine.LoadTemplate(@"c:\wwwroot\view\view.html"); ;
template.Set("list", new string[] { "github","jntemplate" });
var result = template.Render();
模板文件:view.html
<ul>
${foreach(name in list)}
<li>${name}</li>
${end}
</ul>
输出结果
<ul>
<li>github</li>
<li>jntemplate</li>
</ul>
项目地址
https://github.com/jiniannet/jntemplate