目前正在Golang网站工作,作为我使用go模板的前端。为了分离网站的不同部分,我创建了这个模板:
<head>
标记和一些css导入我在嵌套页脚模板后添加了Javascript导入,但仍然在body标记内。例如,我添加了它们:
<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
添加到网址中。 所以,我的问题是,它是如何正常处理的?
到目前为止,我已将域和文件夹添加到导入中,例如:
<script src="MyDomain.com/public/js/SomeJS.js"></script>
但我真的不想这样做,因为任何时候域名改变我应该编辑代码而且它不是真正的实用。另外,我不想在我创建的每个视图中添加库的导入。我有一些文件(CSS和JS)对于所有项目都很常见,我只想写一次。
谢谢!
答案 0 :(得分:1)
在路径的存在中添加/
,它从relative path
称为domain root
。
<script src="/public/js/SomeJS.js"></script>
<link href="/public/css/SomeCSS.css" type="text/css" rel="stylesheet"/>
如果没有/
,则会从relative path
将其称为current domain directory
。这就是你现在的行为。
输出:
http://myserver/public/css/someCSS.css
http://myserver/public/js/SomeJS.js