我已经建立了一个基于这种结构的简单网站。我运行 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。它使外部文件(如模板)成为二进制文件的一部分。虽然如果您希望能够在不重新编译的情况下更改模板,这不是一个很好的解决方案
- 2 回答
- 0 关注
- 181 浏览
添加回答
举报
0/150
提交
取消