Express представляет собой фреймворк, позволяющий существенно упростить разворачивание NodeJS сервера, разбивание макета сайта на части, шаблонизацию, роутинг. Как правило, в настоящее время работа с NodeJS происходит именно через Express. Давайте с ним разбираться.
Установка и запуск
Для установки библиотеки следует выполнить команду:
npm install express
После этого в вашем файле следует выполнить импорт библиотеки:
import express from 'express';
Затем нужно создать объект с Express приложением:
let app = express();
После этого с помощью специальной команды
app.get
мы можем обрабатывать запрошенные
урлы. Для примера отдадим для главной страницы
какой-нибудь текст:
app.get('/', function(req, res) {
res.send('hello world');
});
Развернем наше приложение на каком-нибудь порту:
app.listen(3000, function() {
console.log('running');
});
Итоговый код нашего сервера будет выглядеть следующим образом:
import express from 'express';
let app = express();
app.get('/', function(req, res) {
res.send('hello world');
});
app.listen(3000, function() {
console.log('running');
});
Установите Express и проверьте его работу с помощью описанного выше кода.
Обработка многих урлов
С помощью app.get
можно обрабатывать
любое количество урлов. Смотрите пример:
app.get('/1/', function(req, res) {
res.send('page1');
});
app.get('/2/', function(req, res) {
res.send('page2');
});
app.get('/3/', function(req, res) {
res.send('page3');
});
Сделайте пять различных урлов, по которым будет отдаваться какой-нибудь текст.
Объекты запроса и ответа
Посмотрите внимательно на коллбэк, который
мы передаем в app.get
:
app.get('/', function(req, res) {
});
Как вы видите, у нас есть две переменные. В первую переменную Express положит специальный объект, содержащий данные запроса браузера, а во вторую переменную - специальный объект для управлением ответом сервера на этот запрос.
Конечно же, названия этих переменных могут
быть любыми, но принято называть их req
(сокращенное от request) и res
(сокращенное от responce).
В следующих уроках мы подробно разберемся с возможностями этих специальных объектов.