我有一组模板作为文件,例如base.html,,login.htmlprofile.html等header.html。它们以文件夹的形式组织。
在开发过程中将它们作为单独的文件很好,但是当我部署应用程序时,我希望将它们全部嵌入为字符串或解析和编译的模板,以便像往常一样从代码中使用。
我应该如何更好地将这些模板制作为 Go 代码?这样我就不必在生产中拥有templates文件夹,而是在单个可执行文件中拥有所有内容?
zse*_*rge 11
对于 Go 1.16,将有官方"embed"包,并且以下内容是可能的(如果您在 2021 年 2 月之后阅读本文,则可能是这样):
//go:embed "mytemplate.tmpl"
var myTemplate string
Run Code Online (Sandbox Code Playgroud)
该代码在编译时嵌入mytemplate.html,并且可以作为字符串使用(或者作为[]byte或作为文件系统,如果您愿意)。无需第三方工具或库。