Този урок е достъпен само в платената версия на курса.
Вземи достъп до всички уроци 💫 цена: 99лв.
Основи на уеб програмирането
Тук ще видим как може да сервираме ресурси като отговор на заявки към нашия сървър.
Подобно на предния урок, и тук ще използваме модула http
. След това, можем да създадем нов файл, като например server.js, и да добавим следния код:
const http = require('http');
const fs = require('fs');
http.createServer(function (request, response) {
fs.readFile('image.jpg', function(err, data) {
response.writeHead(200, {'Content-Type': 'image/jpeg'});
response.end(data);
});
}).listen(8080);
При заявка към нашия сървър функцият, която приема request-a прочита файлa image.jpg
и го сервира обратно към клиента. Тук важен момент е отново Content-Type
header-a.
Много често обаче ние искаме да сервираме статични ресурски от цяла една директория. Изричното посочване на всеки от файловете няма да работи в този случай. Вариант е отново да използваме express
библиотеката, където тази функционалност е свързана с извикването на едноа единствена функция.
const express = require('express');
const app = express();
app.use(express.static('public'));
app.listen(8080, function () {
console.log('Example app listening on port 8080!');
});
.static('public')
превръща директорията public
в място където може да поставим нашите статични ресурси. Те ще бъдат сервирани с правилния Content-Type
автоматично от express
библиотеката.