C# 开发的高速 .NET 模板引擎JNTemplate

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