可以。golang模板引擎動態(tài)可以讀取sql。text/template是Go語言標準庫,實現(xiàn)數(shù)據(jù)驅(qū)動模板以生成文本輸出,可以理解為一組文字按照特定格式動態(tài)嵌入另一組文字中。
創(chuàng)新互聯(lián)建站是一家專業(yè)提供蘇仙企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、網(wǎng)站制作、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為蘇仙眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
和有些小伙伴一樣,本人是從php轉(zhuǎn)到了go,從事php時使用symfony框架一直享受其豐富的功能帶來的便利,轉(zhuǎn)到其他語言時比較直觀的感覺就是twig真強,為什么其他語言沒有擴展twig呢?
雖然前后端的開發(fā)模式,讓模板引擎這個東西慢慢淡去,但是有時候還是需要用到這種東西,所以就有了,go調(diào)用php實現(xiàn)twig模板引擎的想法。
原理,go 通過exec.Command調(diào)用php,通過STDIN,STDOUT 方式進行數(shù)據(jù)交互
go在初始化階段提供一些配置參數(shù),比如模板引擎的為止,是否為開發(fā)環(huán)境等,php接收數(shù)據(jù)并初始化
初始換環(huán)境完畢后,當需要渲染模板,go再講模板文件和數(shù)據(jù)以json字符串的形式寫入STDIN告知php,
php接收到數(shù)據(jù)后,解析數(shù)據(jù),選取指定的模板并渲染,然后通過STDOUT返回給go
這樣一次渲染就結(jié)束了
整理好的文件打包在github上了
如果喜歡就動動你的小手指點個贊,star一下吧!
Go語言模板文件可以引入js文件或css文件,但是在引入的過程中,需要注意以下幾點:
1. 引入的文件路徑應(yīng)該是相對路徑,而不是絕對路徑。
2. 在引入js文件時,需要使用{{ url }} 模板函數(shù),用來拼接路徑, 這樣可以更好的兼容不同的路徑。
3. 如果是在統(tǒng)一的文件夾中的js文件,最好使用{{ static }}模板函數(shù),這樣可以更好的節(jié)省路徑長度。
4. 在引用js文件時,需要在頁面底部,可以使用{{ template }}模板函數(shù),這樣可以保證js文件在頁面加載完成之前就被加載。
總之,使用Go語言模板文件引入js文件,需要注意路徑的相對性,并且使用模板函數(shù)來拼接路徑,這樣可以更好的兼容不同的路徑,從而保證引用js文件的正確性。