为了账号安全,请及时绑定邮箱和手机立即绑定

如何访问包外的模板?

如何访问包外的模板?

Go
一只名叫tom的猫 2021-09-09 21:40:49
我已经建立了一个基于这种结构的简单网站。我运行 main.go,一切正常。我希望能够在另一个包中使用这个 webapp,比如“github.com/my/package”。我将“main.go”复制到“github.com/my/package”目录并运行它,然后得到:"panic: open templates/user/view.html: no such file or directory"例如,修改此文件中模板文件的路径的推荐方法是什么,以便我可以访问模板?我可以想到两种解决方案:在 view.go 中硬编码一个绝对路径到模板文件。在 view.go 中有一个全局变量,然后找出模板文件与新 main.go 文件相关的位置并将变量设置为该路径。如果其他人尝试使用该软件包,第一个显然会中断。第二个选项有点复杂,你需要找到通往 main 的路径,然后通过你的方式找出模板在哪里......似乎非常复杂。有没有更好的办法?
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

你可以看看go-bindata。它使外部文件(如模板)成为二进制文件的一部分。虽然如果您希望能够在不重新编译的情况下更改模板,这不是一个很好的解决方案


查看完整回答
反对 回复 2021-09-09
  • 2 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信