в настоящее время я работаю на сайте Golang, в качестве внешнего интерфейса я использую шаблоны go. Чтобы разделить разные части сайтов, я создал следующие шаблоны:
- Заголовок: содержит тег
<head>
и некоторый импорт css - Заголовок: определение панели навигации сайта, логотипа и т. д. Это только HTML
- Нижний колонтитул: определение HTML нижнего колонтитула сайта.
- SomePage: определяя тег body, этот шаблон вызывает Head, Header и Footer. Этот файл может быть, например, индексом, логином и т. д.
Я добавил импорт 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
к URL-адресу. Итак, мой вопрос: как это обычно обрабатывается?
К настоящему времени я добавил домен и папку в импорт, например:
<script src="MyDomain.com/public/js/SomeJS.js"></script>
Но я действительно не хочу делать это таким образом, потому что каждый раз, когда меняется домен, я должен редактировать код, а это не очень практично. Кроме того, я не хочу добавлять импорт библиотек в каждое создаваемое представление. У меня есть несколько файлов (CSS и JS), которые являются общими для всего проекта, и я просто хочу написать их один раз.
Благодарю вас!