模板引擎是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上獲取。