.net 開源模板引擎jntemplate 教程:基礎篇之入門


一、簡介

模板引擎是Web開發中非常重要的一環,它負責將頁面上的動態內容呈現出最終的結果展現給前端用戶,在asp.net mvc中,我們最熟悉的就是Razor了,作為官方的視圖引擎(視圖引擎不等同於模板引擎),它的受眾十分廣闊。但是在部分場景,比如BLOG,CMS甚至非asp.net mvc(此處asp.net mvc特指官方MVC框架)環境中,我們往往可能需要第三方的模板引擎來解析我們頁面(或者視圖),在這一塊,JNTemplate,DotLiquid,Nustache,Razor,Saprk都是不錯的選擇,JNTemplate v2.0 做為使用il emit實現的編譯型模板引擎,在眾多模板引擎中表現優秀。

本系列文章將通過基礎篇與進階篇二部分,詳細介紹 jntemplate的基本使用與進階技巧。

二、准備開始

在開始之前,首先我們要准備本地的開發環境,jntemplate v2.0.0 所支持的環境為

  • .net framework 4.0 +
  • .net core 2.1 +
  • .netstandard 2.1 +
  • .net 5

建議安裝使用.net 5 環境(下載地址:https://dotnet.microsoft.com/download/dotnet/5.0)

IDE建議使用Visual Studio 2019或者vscode,如果都沒有,記事本也行。

三、 hello World

在下面我們通過一個簡單的hello World來了解jntemplate的用法:

  1. 打開Visual Studio 2019,新建一個命令行項目sample!

  2. 點擊菜單:項目=>管理Nuget程序包,搜索 jntemplate 並安裝(jiniannet.jntemplate),如圖一所示。

圖一

  1. 打開Program.cs, 修改Main方法里面的代碼如下:
var template = Engine.CreateTemplate("Hello $name!");
template.Set("name", "World");
template.Render(Console.Out);

如圖二所示:

圖二

4.按F5運行程序,查看程序運行結果。

圖三

恭喜。我們的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上獲取。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM