Раздача статических файлов в Express¶
Чтобы раздавать статические файлы, такие как изображения, CSS и JavaScript, используйте встроенный middleware express.static.
Сигнатура функции:
1 | |
Аргумент root задает корневой каталог, из которого раздаются статические ресурсы. Подробнее об аргументе options см. в express.static.
Например, следующий код раздает изображения, CSS и JavaScript из каталога public:
1 | |
Теперь можно обращаться к файлам из каталога public:
1 2 3 4 5 | |
Express ищет файлы относительно статического каталога, поэтому имя статического каталога не входит в URL.
Чтобы использовать несколько каталогов со статикой, вызовите middleware express.static несколько раз:
1 2 | |
Express ищет файлы в том порядке, в котором вы подключили статические каталоги через express.static.
Для лучшей производительности раздачи статики используйте кеширование на reverse proxy.
Чтобы создать виртуальный префикс пути (которого физически нет в файловой системе) для файлов, раздаваемых через express.static, задайте mount path для статического каталога:
1 | |
Теперь файлы из каталога public доступны через префикс пути /static.
1 2 3 4 5 | |
Однако путь, который передается в express.static, вычисляется относительно каталога, из которого вы запускаете процесс node. Если приложение Express запускается из другого каталога, безопаснее использовать абсолютный путь:
1 2 3 4 5 | |
Подробнее о функции serve-static и ее параметрах см. в документации serve-static.