Задать вопрос

Почему стили и скрипты не грузятся при динамическом url?

Добрый день, если сделать такой роут:
app.get("/work", (req, res) => {
    return res.render("work");
});

, всё работает. Но если его сделать динамическим:
app.get("/work/:id", (req, res) => {
    return res.render("work");
});

На странице /work/1 например не загружаются стили и скрипты, кроме тех, которые подключаются cdn. Вместо них сервер выдаёт html код и в качестве скрипта, и в качестве css. Сейчас ещё заметил, что такое везде если url имеет глубину больше одного (например /work/somework тоже стили и скрипты не загружаются). Как можно решить мою проблему?
  • Вопрос задан
  • 332 просмотра
Подписаться 1 Средний 9 комментариев
Решения вопроса 1
FinGanapre
@FinGanapre
Полагаю, вы неверно отдаёте статические ресурсы. Вот документация

Если в шаблонах указан верный путь до статических файлов и в express вы сконфигурировали отдачу статики правильно, согласно документации, то никаких проблем не будет.

Если вы использовали данный вариант:
app.use(express.static(path.join(__dirname, 'public')))


То в шаблонах пути до папок с css и js должны быть:
<link rel="stylesheet" href="/css/main.css">
<script src="/js/main.js"></script>


При условии, что статика подключена в index.js и структура каталогов следующая:
index.js
public/css/main.css
public/js/main.js
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы