首先看文章中的基礎(chǔ)" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運(yùn)營 > 20210830關(guān)于gin加載靜態(tài)(動態(tài))網(wǎng)頁(模板)的.html(.tepl)文件的正確方式

20210830關(guān)于gin加載靜態(tài)(動態(tài))網(wǎng)頁(模板)的.html(.tepl)文件的正確方式

時間:2023-06-12 06:36:01 | 來源:網(wǎng)站運(yùn)營

時間:2023-06-12 06:36:01 來源:網(wǎng)站運(yùn)營

20210830關(guān)于gin加載靜態(tài)(動態(tài))網(wǎng)頁(模板)的.html(.tepl)文件的正確方式:標(biāo)題里的這些括號只是為了告訴你不要讓這些名詞所迷惑,所有的這些名字gin框架都能實現(xiàn)加載、hold你腦仁里所希望的那些需求的

首先看文章中的基礎(chǔ)語法:

主要有兩個方式:LoadHTMLGlob()與LoadHTMLFiles()

LoadHTMLGlob()是用來將一個相對路徑寫入運(yùn)行環(huán)境,以便調(diào)用:

router := gin.Default()router.LoadHTMLGlob("templates/*") LoadHTMLFiles()則是寫入一連串相對路徑文件地址:

router.LoadHTMLFiles("templates/template1.html", "templates/template2.html")這里必需要拓展一下,其實還有其他相關(guān)的方法,請看如下文章:

重點(diǎn)是在這里:(engine即router)

engine :=gin.Default()engine.StaticFS("/static",http.Dir("./static"))這篇文章對StaticFS做了具體的解釋:

說白了StaticFS是用來處理靜態(tài)文件的,而LoadHTMLGlob()與LoadHTMLFiles()則是用來處理網(wǎng)頁模板的(工具的功能邊界)。

某種角度上講網(wǎng)頁模板(.tmpl文件)就是一種靜態(tài)文件,所以自然而然也能被StaticFS處理

補(bǔ)充:LoadHTMLGlob()與LoadHTMLFiles()既可以處理.tmpl文件也可以處理.html文件)

我們需要用這三個東西配合著來實現(xiàn)需求




看一個配合著使用的例子:

看了之后你會發(fā)現(xiàn)一個重點(diǎn):怎么說呢,或許很多東西為啥會設(shè)計成這樣或那樣都會有些歷史原因吧。似乎單獨(dú)的.js文件其實也是靜態(tài)文件、而代碼內(nèi)沒有動態(tài)代碼的.html文件就更是靜態(tài)文件了,但是代碼內(nèi)有動態(tài)代碼(如js代碼)的.html文件大家就認(rèn)為他是“動態(tài)文件”了,是不是技術(shù)的發(fā)展過程中大家有迫切的需求想把“動態(tài)文件”當(dāng)作靜態(tài)文件使用,所以才會產(chǎn)生出這樣的“實現(xiàn)引用”的書寫方式吧:

<script charset="utf-8" src="js/home.js"></script>無論如何,總之以這為基礎(chǔ),這樣一來gin就可以加載這個包含著上述“實現(xiàn)引用功能”代碼的“靜態(tài)html”了

繼續(xù)說文章內(nèi)容,文章里其實沒有展示太多代碼,你可以看其他幾篇,不過文章的思路其實就是gin的模板功能模塊與靜態(tài)資源功能模塊配合著使用的具體方式,我來寫個:

func main() { router := gin.Default() router.LoadHTMLFiles("templates/index.html", "templates/login.html") router.StaticFS("/js","js") router.GET("/index", func(c *gin.Context) { c.HTML(http.StatusOK, "index.html", gin.H{ "說明":"index.html內(nèi)部雖不包含js語法但用html語法引用了路徑文件js/index.js" } }1.通過模板功能(LoadHTMLFiles())加載了一個網(wǎng)頁(這里是網(wǎng)頁而不是模板,當(dāng)然模板也可以,模板的使用方式單獨(dú)學(xué)就行)

2.通過靜態(tài)資源功能(StaticFS())加載了文件文件夾js下的index.js文件(圖片之類的也是用StaticFS)操作

3.gin在執(zhí)行代碼中GET路由的過程中會自動以”GET自己“的方式(正如文中所述),將資源一并返回給用戶瀏覽器,gin會確保用戶瀏覽器可以有效的執(zhí)行這個”動(靜)態(tài)的頁面“

4.你不用StaticFS()把靜態(tài)文件”預(yù)先放進(jìn)去“gin是找不到他的

總之大部分時候必然需要兩者配合著實現(xiàn)

還有些關(guān)于使用細(xì)節(jié)與坑的文章:

感謝各位前輩 ? ? ?

關(guān)鍵詞:模板,文件,方式,正確,動態(tài),靜態(tài)

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉