Уроки Express.js . Основы и Middleware. Часть 1.

expeess_p1
Всем привет! В этой и в следующих статьях мы будем рассматривать различные темы по разработке в контексте одного приложения, которое будет постепенно дорабатываться. Это приложение – веб-чат. Но это не просто веб-чат, а это веб-чат, который должен продемонстрировать правильную конфигурацию, как делать обычные страницы при помощи Node.js и фреймворка Express , как делать шаблонизацию, JSON-сервис, авторизацию, чат, Socket, как работать с базой данных и т.д. Статьи будут содержать в себе материалы сделанные с использованием версией фреймворка Express 3, сейчас актуальной версией  является Express 4. Устаревшие features Express 3 в статьях не используются, так что единственное существенное отличие – в Express 4 это то , что многие библиотеки были вынесены отдельно из фреймворка, см. Migrating from 3.x to 4.x. Если вы хотите следовать нашим урокам , то рекомендуется:

npm i express@3

А далее переход на версию 4 будет для вас очевиден.

express

Начнем мы с технологии Express , и затем по мере разработки чата будем знакомиться с другими аспектами, которые здесь перечислены.

Итак, пустая директория. Для того, чтобы создать сайт,  будем использовать систему Express :

npm install i -g express@3.3.8

Expressэто фреймворк на Node.js, который наиболее часто используется для создания сайтов и веб-сервисов. Установим его глобально, потому что нам понадобится специальная утилита Express. Она позволяет быстро генерировать структуру сайта, самые основные файлы.

 express –help

показывает опции. Нам  понадобятся:

express –s  –e

то есть, в только что созданный сайт подключить сразу поддержку сессий и поддержку шаблонизатора --ejs. Как подключается и что работает мы посмотрим уже по ходу дела. Итак, готово.

Открываем это в WebStorm. Вместо него может быть и любой другой удобный вам редактор, и смотрим что cгенерировалось. App.js – это самый главный файл, мы посмотрим его в деталях очень скоро.

 Package.json– это основной файл приложения. Добавим туда название нашего проекта.

Для того, чтоб проект запустился нужны dependencies. Поэтому  опять заходим в консоль и вводим:

 npm i 

То, что есть в рackage.json, поставится в node_modules. Появилась новая директория. Модули необходимые, чтобы эта штука работала поставлены. Для того, чтобы это запустить, создадим конфигурацию запуска аpp.js, ставим галочку в Single instance only для удобства перезапуска. Запускаем. Переходим в Chrome:

http://localhost:3000/

На этом порту наше приложение теперь что-то«слушает» , что-то работает.

Возвращаемся обратно в проект. Тут много всего сгенерировано, для того, чтоб нам было проще, оставим только то, что нам действительно необходимо, чтобы Express работал. Это не так много:

– подключить Express,
– создать приложение, 
это создает функцию, которая используется для того, чтобы обрабатывать запросы:

Далее добавляем http-сервер:

Соответственно, Express будет обрабатывать все приходящие запросы. Нам еще понадобятся модули http.

Aрp.get получает значение из специального скрытого свойства объекта арp, который устанавливается так (добавим в наш app.js):

Все остальное мы пока закомментируем, оно нам не надо.

Теперь, если все это запустить, то получим сервер, который слушает на порту 3000, но ничего не делает. Почему? Да потому, что функция еxpress по умолчанию никак запросы не обрабатывает. Чтобы она их обрабатывала, ей нужно добавить специальный обработчик, который в терминологии Express называется Middleware. Он выглядит так же, как и обычная функция, принимает req и res, передает все объекты и может что-то сделать:

Такая функция на все запросы будет отвечать одинаково. Запускаем. Проверяем. Работает!

Чем отличается Middleware от обычного обработчика on.request? Тем, что у него есть третий параметр  next. Он служит для того, чтобы объединять Middleware в цепочки. Например, есть один Middleware, а ниже делаем другой Middleware.  Первый из них проверяет, если

то вызвать

А иначе  – передать управление дальше:

Мы скоро продолжим, увидимся!  Код урока доступен по ссылке.

keep-calm-there-s-more-to-come-14
Материалы для статьи взяты из данного скринкаста.

We are looking forward to meeting you on our website soshace.com

About the author

Stay Informed

It's important to keep up
with industry - subscribe!

Stay Informed

Looks good!
Please enter the correct name.
Please enter the correct email.
Looks good!

Related articles

Уроки Express.js . Логгер, Конфигурация, Шаблонизация с EJS. Часть 2.

Favicon – это все connect Middleware, он смотрит, если url имеет вид favicon.ico, то он читает favicon и ...

3. Уроки Express.js. Шаблонизация с EJS: Layout, Block, Partials

В реальной жизни у нас обычно больше, чем один шаблон. Более того, если уж так ...

24.11.2016

Уроки Express.js. Основы и Middleware. Часть 2.

Всем привет! Давайте продолжим наш урок об основах Express и Middleware. Итог (добавим в ...

0 comments

Sign in

Forgot password?

Or use a social network account

 

By Signing In \ Signing Up, you agree to our privacy policy

Password recovery

You can also try to

Or use a social network account

 

By Signing In \ Signing Up, you agree to our privacy policy