Значки не отображаются вместе с результатом шаблона | ошибка 404

#javascript #express

#javascript #экспресс

Вопрос:

Я пытаюсь отобразить значки, соответствующие поиску, но я получаю ошибку 404 http://localhost:3000/static при поиске значения

В настоящее время моя соответствующая структура папок выглядит следующим образом: Base directory > Public > Icons и Base directory > index.js .

Внутри моего index.js экспресс-серверный файл, который я использую app.use("/static", express.static("public/icons")); , чтобы разрешить серверу доступ к значкам, однако на моем интерфейсе я получаю сообщение об ошибке 404 для не удалось загрузить ресурс: сервер ответил со статусом 404 (не найден), как упоминалось ранее

В моем шаблоне ejs я пытаюсь отобразить эти значки с помощью

 <img alt="" src="/static/ <%= country.icons %>" /> <%= country.name %> 
 

Есть какие-нибудь мысли о том, как я могу это исправить и отрисовывать свои иконки?

Ответ №1:

Здесь может произойти несколько вещей:

  1. Убедитесь, что вы получаете действительный country.icons в шаблоне.
  2. У вас есть пробел между /static/ и <%= country.icons %> . Это, безусловно, вызывает проблему.
  3. Вам также необходимо указать расширение файла изображения или значка, которое у вас есть в public/icons папке. Например, если у вас есть изображения в формате png, вам нужно изменить его на:
 <img alt="" src="/static/<%= country.icons %>.png" />
 

Было бы еще полезнее, если бы вы предоставили больше контекста, добавив изображение того, какой запрос отправляется из интерфейса, т.е. через вкладку Сеть в инструменте разработчика.