|
BackendExpressNode js

Для надання статичних файлів, таких як зображення, CSS або JavaScript, в Express використовується проміжна функція express.static.

Щоб почати надання файлів, потрібно передати назву каталогу, у якому зберігаються статичні ресурси, до функції express.static. Наприклад, ось як можна надати зображення, CSS і JavaScript, що знаходяться у каталозі public:

app.use(express.static('public'));

Тепер можна відкривати файли з каталогу public за такими адресами:

http://localhost:3000/images/kitten.jpg  
http://localhost:3000/css/style.css  
http://localhost:3000/js/app.js  
http://localhost:3000/images/bg.png  
http://localhost:3000/hello.html  

Express шукає файли відносно зазначеного статичного каталогу, тому його назва не входить у URL.

Щоб використати кілька каталогів зі статичними файлами, викликайте express.static декілька разів:

app.use(express.static('public'));
app.use(express.static('files'));

Express перевірятиме наявність файлів у тому порядку, в якому вказані каталоги.

Щоб задати віртуальний префікс шляху (тобто шлях, якого не існує у файловій системі), потрібно вказати префікс при монтуванні каталогу:

app.use('/static', express.static('public'));

Тепер файли з каталогу public будуть доступні за такими URL:

http://localhost:3000/static/images/kitten.jpg  
http://localhost:3000/static/css/style.css  
http://localhost:3000/static/js/app.js  
http://localhost:3000/static/images/bg.png  
http://localhost:3000/static/hello.html  

Однак шлях, переданий у express.static, задається відносно каталогу, з якого запущено процес Node.js. Якщо застосунок Express запускається з іншого каталогу, безпечніше використовувати абсолютний шлях:

app.use('/static', express.static(__dirname + '/public'));

Схожі матеріали