4

我已经使用beego在 golang 中构建了一个基于基本布局的站点,我已经将我的页面布局拆分为一个名为的文件views/_layout.tpl,并从控制器如下引用它。

func (c *BuyerController) Get() {
    ...
    c.Layout = "_layout.tpl"
    c.TplName = "buyers.tpl"
}

布局中间有所需的行:

    {{.LayoutContent}}

奇怪的是,当我使用 IDEA/IntelliJ 运行 Web 服务器时,它在浏览器中呈现得很好,但是当我从控制台运行它时,bee run布局文件中的所有 html 都丢失了,只buyers.tpl显示了它的内容。

我已经运行了编译后的应用程序的每个构建,并且发生了同样的情况,由 IntelliJ 构建的那个可以工作,而由 IntelliJ 构建的那个bee run不行。

据我所知,我已经关注了http://beego.me/docs/mvc/view/view.md#layout-design

任何想法我做错了什么,或任何线索如何解决?谢谢。

4

1 回答 1

1

GOPATH. 再次。典型的是我发布赏金然后立即弄清楚是吗?

IntelliJ 将自己的GOPATH信息副本保存在.idea/*.iml

<orderEntry type="library" name="GOPATH &lt;web&gt;" level="project" />

我正在运行gvm来管理 go 版本,并且为了将软件包安装在全局正确的位置,我的 go 路径如下:

$ echo $GOPATH
/home/tim/.gvm/pkgsets/go1.4.3/global

然而,这意味着我每次切换 go 版本时都必须移动我的 src。为了解决这个问题,我曾经gvm linkthis将我的 src 符号链接到 gvm 文件夹中,这样我的源代码就在 GOPATH 中,因为 go 期望找到它。这样做的缺点是我必须cd$GOPATH/src/project/击球之前进行bee run,而不仅仅是从真实位置运行它(这就是我所做的)。没有它,它会找到 .go 文件,但不会找到布局。我不是 100% 确定为什么,但这是有道理的。

看起来很多牦牛剃须才能使这一切正常工作,所以也许我错过了一些东西?

于 2016-05-07T11:46:03.633 回答