Мои статические файлы не отображаются правильно - PullRequest
0 голосов
/ 07 мая 2018

На моей html-странице я ссылаюсь на статические ресурсы, такие как:

 <script src="/static/assets/js/bundle.js"></script>

и

   <link rel="stylesheet" href="/static/assets/css/style.css">

Эти файлы хранятся в:

/assets/js/bundle.js
/assets/css/style.css

В настоящее время мой маршрут выглядит так:

app.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("/assets"))))

В настоящее время он не работает и возвращает ошибку 404, когда я смотрю на консоль Chrome.

Что я здесь не так делаю?

1 Ответ

0 голосов
/ 07 мая 2018

Проблема с вашим звонком на http.Dir("/assets") в этой строке:

app.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("/assets"))))

http.Dir принимает путь к папке в абсолютной форме или относительно того, где находится исполняемый файл go. Использование "/assets" говорит о том, что абсолютный путь к папке ресурсов находится в корне файловой системы, где в действительности я предполагаю, что папка ресурсов находится в чем-то вроде /home/YOUR_USER_FOLDER/code/this_project/assets.

Просто измените код, чтобы использовать абсолютный путь:

app.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("/home/YOUR_USER_FOLDER/code/this_project/assets"))))

Если папка assets находится в том же месте, что и исполняемый файл go, вы можете просто использовать "assets" в качестве пути к файлу, но я рекомендую использовать абсолютный путь, чтобы избежать путаницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...