【发布时间】:2018-01-13 15:01:03
【问题描述】:
目前在 Golang 站点中工作,作为前端,我使用的是 go 模板。为了分离网站的不同部分,我创建了这个模板:
- 头部:包含
<head>标签,以及一些css的导入 - Header:定义网站的导航栏、logo等。它只是HTML
- 页脚:定义网站页脚的 HTML。
- SomePage:定义body标签,这个模板调用Head、Header和footer。该文件可以是例如索引、登录等。
我在嵌套页脚模板之后添加了 Javascript 导入,但仍在正文标记内。例如,我将它们添加为:
<script src="public/js/SomeJS.js"></script>
<link href="public/css/SomeCSS.css" type="text/css" rel="stylesheet"/>
在我的项目路径中,我定义了public 来提供这些静态文件,这非常好用。现在,我有一些项目路线,可以说:
router.GET("/",controllers.Index)
router.GET("/login",controllers.Login)
通过第一条路线,库的加载非常好。然后,将路由作为第二个,我无法加载它们,因为浏览器试图将这些文件定位为:
http://myserver/login/public/css/someCSS.css instead of
http://myserver/public/css/someCSS.css
在这种情况下,我明白为什么要将 login 添加到 URL。 那么,我的问题是,它通常是如何处理的?
现在我将域和文件夹添加到导入中,例如:
<script src="MyDomain.com/public/js/SomeJS.js"></script>
但我真的不想这样做,因为任何时候域更改我都应该编辑代码,这并不实用。此外,我不想在我创建的每个视图中添加库的导入。我有一些对所有项目都通用的文件(CSS 和 JS),我只想写一次。
谢谢!
【问题讨论】:
标签: go-templates