# Введение в Express

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).

В следующих уроках мы подробно разберемся с возможностями этих специальных объектов.

→
↑