模板引擎是Web开发中很是重要的一环,它负责将页面上的动态内容呈现出最终的结果展示给前端用户,在asp.net mvc中,咱们最熟悉的就是Razor了,做为官方的视图引擎(视图引擎不等同于模板引擎),它的受众十分广阔。可是在部分场景,好比BLOG,CMS甚至非asp.net mvc(此处asp.net mvc特指官方MVC框架)环境中,咱们每每可能须要第三方的模板引擎来解析咱们页面(或者视图),在这一块,JNTemplate,DotLiquid,Nustache,Razor,Saprk都是不错的选择,JNTemplate v2.0 作为使用il emit实现的编译型模板引擎,在众多模板引擎中表现优秀。html
本系列文章将经过基础篇与进阶篇二部分,详细介绍 jntemplate的基本使用与进阶技巧。前端
在开始以前,首先咱们要准备本地的开发环境,jntemplate v2.0.0 所支持的环境为mvc
建议安装使用.net 5 环境(下载地址:https://dotnet.microsoft.com/download/dotnet/5.0)框架
IDE建议使用Visual Studio 2019或者vscode,若是都没有,记事本也行。asp.net
在下面咱们经过一个简单的hello World来了解jntemplate的用法:ui
打开Visual Studio 2019,新建一个命令行项目sample!.net
点击菜单:项目=>管理Nuget程序包,搜索 jntemplate 并安装(jiniannet.jntemplate),如图一所示。命令行
Program.cs
, 修改Main方法里面的代码以下:var template = Engine.CreateTemplate("Hello $name!"); template.Set("name", "World"); template.Render(Console.Out);
如图二所示:code
4.按F5运行程序,查看程序运行结果。htm
恭喜。咱们的hello world项目完成了,程序正确解析了模板并输出告终果,咱们来重点看一下这三句代码:
Engine.CreateTemplate("Hello $name!");
表示从文本"Hello $name!" 建立一个模板对象,若是是从一个文件建立模板可使用 Engine.LoadTemplate("文件路径")
template.Set("name","World");
将一个名称为name的变量给递给模板。template.Render(Console.Out);
解析呈现模板内容。在这里,直接将模板解析结果呈现到了控制台,若是须要输出到文本,能够直接使用
string result = template.Render();
若是想保存到文件,能够参考下面的写法
using (var sw = File.CreateText(@"c:\wwwroot\index.html")) { template.Render(sw); }
是否是很简单?
jntemplate 语法简单,入门容易 ,轻量快速。并且不单单只能用来作模板引擎,原则上能够作任何纯文本内容的解析,好比作邮件发送,代码生成器等等。
下一节咱们将详细讲解模板语法。
注:源代码能够在Gitee或者Github上获取。