you_are_enot
@you_are_enot
Пограммист любитель

Как отдавать статичные файлы и использовать роутинг в express.js?

Я новичок в работе с express.js. Прочитал официальную документацию и несколько гайдов, но всё равно остаётся непонятным, как отдавать статичные файлы.

В моём проекте есть папка public в которой находятся папки с файлами страниц, например home(внутри index.html, styles.css и index.js).

Для отдачи статичных файлов рекомендуют использовать мидлвэйр
app.use(express.static(__dirname + "/public"));

При таком подходе, пропадает необходимость использовать app.get(), так как все файлы и так будут отданы. Плюс, смущает факт того, что доступ к файлам можно получить прописав путь напрямую /home/index.html

Вопрос в том, как отдавать статичные файлы и при этом использовать роутинг. Например, я хочу стилизовать страницу 404 Not Found. Для этого использую функцию
app.get("/*", (req, res) => {
  res.sendFile(__dirname + "/public/notFound/index.html");
});

Как при этом отправить, файлы со стилями?
  • Вопрос задан
  • 899 просмотров
Пригласить эксперта
Ответы на вопрос 1
@de1m
В такой форме можно файлы со стилями отдать, если для каждого будете писать "app.get", что как-бы не очень удобно.
У вас в "index.html" прописан адресс, где можно скачать css, вот для этого адреса вы либо пишете "app.get" либо всё таки делаете возможным скачивать статичные файлы.

При таком подходе, пропадает необходимость использовать app.get(), так как все файлы и так будут отданы. Плюс, смущает факт того, что доступ к файлам можно получить прописав путь напрямую /home/index.html


Вы ведь всё равно эти файлы хотите отдавать пользователю, без них работать не будет. Так что тут не страшно, если он скачать может.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы