EXPRESS JS

Express — очень популярное приложение для создания серверов в node. И не зря, оно действительно удобно в использовании. А когда учишься чему-либо, нужно начинать с основ.

Чтобы установить express, необходимо скачать пакет express npm install express. Затем потребовать его в файле с помощью const express = require('express'). Чтобы создать приложение express, просто вызовите его и присвойте его переменной, например, так const app = express(). Теперь, когда приложение создано, используется метод ‘listen’, чтобы заставить его работать на порту, app.listen(3000). При использовании экспресс-метода порядок его установки имеет значение. Поэтому метод listen должен быть в самом низу. Даже ниже всех других методов, которые будут установлены.

В мире Интернета косые черты в url указывают на конкретные маршруты. Приведенный выше код создает домашнюю страницу на маршруте localhost:3000. Таким образом, любое взаимодействие с сервером должно осуществляться с помощью маршрута. И здесь Express превосходит всех. Express имеет множество методов для взаимодействия с маршрутами.

Методы маршрута

Методы маршрутов Express, такие как get, post и т.д., происходят от методов HTTP-запросов. Метод get принимает как минимум 2 аргумента. Первый — это маршрут. Маршрут может быть строкой или переменной. Второй аргумент — это функция, которая действует как промежуточное программное обеспечение, обрабатывая объект запроса, отправленный в маршрут.

app.get('/', (req, res) => {
res.send('Homepage')
Вход в полноэкранный режим Выход из полноэкранного режима

Например, в этом запросе get маршрут установлен на домашнюю страницу с помощью простого прямого слеша ‘/’. А промежуточное ПО — это просто функция, которая имеет параметры запроса и ответа. Затем она просто отправляет ответ ‘Homepage’, когда запрос сделан к домашней странице.

Несколько промежуточных программ

Маршрут может иметь несколько промежуточных функций для обработки объекта запроса. При использовании нескольких функций необходим третий параметр, называемый ‘next’. Цель этой функции ‘next’ — передать запрос следующей промежуточной функции в этом маршруте или другому маршруту.

app.get('/user/:id', (req, res, next) => {
if (req.params.id === 'Batman') next('/Batcave)
else next()
}, (req, res, next) => {
res.send('Go away Robin')
})
Вход в полноэкранный режим Выход из полноэкранного режима

Express также имеет метод ‘use’, который будет передавать промежуточное ПО для каждого метода, используемого ниже него. Например, при передаче json будет происходить автоматический разбор данных при их отправке.

app.use(express.json)
app.post('/batsignal', (req, res) => {
res.send('Nana Nana Nana' + req.body.batman)
})
Вход в полноэкранный режим Выход из полноэкранного режима

Цепляемые обработчики маршрутов

Маршрут может быть связан с несколькими обработчиками, такими как get, post, put и т.д. Это помогает избежать повторения кода. Это делается с помощью метода Router(), который создает новый объект router.

const express = require('express')
const router = express.Router()
router.route('/:batsuit')
.get((req, res) ⇒ {
res.send(`Get batsuit ${req.params.batsuit}`)
})
.post((req, res) ⇒ {
res.send(`Add batsuit ${req.params.batsuit}`)
})
.put((req, res) ⇒ {
res.send(`Update batsuit ${req.params.batsuit}`)
})
Вход в полноэкранный режим Выход из полноэкранного режима

В Express есть еще много методов, это только те, с которыми я сталкивался чаще всего. За исключением цепочки маршрутов, о ней я только что узнал. Я уже мечтаю о том, как красиво будет выглядеть мой код, когда я его использую. В документации по экспрессу довольно легко ориентироваться. После написания этой статьи я определенно стал большим поклонником express.

Источники

  • https://expressjs.com/en/4x/api.html#expres

  • https://github.com/expressjs/express/blob/master/lib/application.js#L540-543

Оцените статью
devanswers.ru
Добавить комментарий