可以。golang模板引擎动态可以读取sql。text/template是Go语言标准库,实现数据驱动模板以生成文本输出,可以理解为一组文字按照特定格式动态嵌入另一组文字中。
成都创新互联是一家专业提供威信企业网站建设,专注与成都网站制作、成都网站设计、外贸营销网站建设、H5开发、小程序制作等业务。10年已为威信众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
和有些小伙伴一样,本人是从php转到了go,从事php时使用symfony框架一直享受其丰富的功能带来的便利,转到其他语言时比较直观的感觉就是twig真强,为什么其他语言没有扩展twig呢?
虽然前后端的开发模式,让模板引擎这个东西慢慢淡去,但是有时候还是需要用到这种东西,所以就有了,go调用php实现twig模板引擎的想法。
原理,go 通过exec.Command调用php,通过STDIN,STDOUT 方式进行数据交互
go在初始化阶段提供一些配置参数,比如模板引擎的为止,是否为开发环境等,php接收数据并初始化
初始换环境完毕后,当需要渲染模板,go再讲模板文件和数据以json字符串的形式写入STDIN告知php,
php接收到数据后,解析数据,选取指定的模板并渲染,然后通过STDOUT返回给go
这样一次渲染就结束了
整理好的文件打包在github上了
如果喜欢就动动你的小手指点个赞,star一下吧!
Go语言模板文件可以引入js文件或css文件,但是在引入的过程中,需要注意以下几点:
1. 引入的文件路径应该是相对路径,而不是绝对路径。
2. 在引入js文件时,需要使用{{ url }} 模板函数,用来拼接路径, 这样可以更好的兼容不同的路径。
3. 如果是在统一的文件夹中的js文件,最好使用{{ static }}模板函数,这样可以更好的节省路径长度。
4. 在引用js文件时,需要在页面底部,可以使用{{ template }}模板函数,这样可以保证js文件在页面加载完成之前就被加载。
总之,使用Go语言模板文件引入js文件,需要注意路径的相对性,并且使用模板函数来拼接路径,这样可以更好的兼容不同的路径,从而保证引用js文件的正确性。