Я узнаю, как сильно я люблю внутреннюю архитектуру. На этой неделе я решил закрыть учебники и запрограммировать свой первый сервер Node Express. Просмотрев множество примеров кода, я начал замечать что-то вокруг одного промежуточного пакета. Способ включения Body-parser в проект может быть субъективным.

Анализатор тела

Что такое Body-парсер? Это промежуточное ПО, которое анализирует поток request. В большинстве случаев, но не всегда, мы анализируем поток как json в объекте запроса req.body.

Как мы его используем? Это так просто, но в то же время субъективно для программиста. Мы собираемся рассмотреть пять способов использования body-parser, все четыре метода одинаково допустимы в качестве приемлемых методов анализа данных, и все наши методы субъективны. в том, что он становится предпочтением методологии программистов.

Самый распространенный метод

Первый способ — импортировать пакет body-parser в файл вашего сервера и установить промежуточное ПО следующим образом:

const express = require('express');
const bodyParser = require('body-parser');

const app = express();
app.use(bodyParser.json())

Но нужен ли нам пакет Body-parser?

Я задаю этот вопрос из-за небольшой экспресс-истории. Пакет Body-parser — это промежуточное ПО, которое входило в состав Express, но в начале 2014 года оно было удалено из пакета Express. Вот почему исходный код большинства проектов, который вы просматриваете, включает body-parser в виде отдельного пакета в проект package.json.

Однако уже 28 сентября 2017 года Body-parser был добавлен обратно в Express как зависимость. Поэтому нам технически не нужно добавлять его как зависимость проекта.

Итак, второй метод, который я предлагаю, — это способ немного очистить наш код:

const express = require('express');

const app = express();
app.use(express.json())

Мы удалили пакет и используем Express, который использует Body-parser. Это немного чище. Если я кодирую сервер Express в собственном коде, это мое предпочтение.

Вавилон и ES6

Как насчет использования ES6 и Babel в вашем проекте. Я полностью за. Иногда трудно перенастроить мозг с ES6. Если ваш проект настроен с помощью Babel (это выходит за рамки этой статьи), то как выглядит импорт Body-parser?

Давайте посмотрим на наш первый пример. Это в основном то же самое, за исключением операторов импорта:

import express from 'express';
import bodyParser from 'body-parser';

const app = express();
app.use(bodyParser.json())

Но мы можем немного абстрагироваться от этого примера, используя именованные экспорты. Это действительно очищает вызов json():

Помните наш второй пример? Технически нам не нужен импорт Body-parser.

Или мы можем действительно очистить его с помощью именованного экспорта. Если я использую ES6, это мое предпочтение:

import express from 'express';
import { json } from 'body-parser';

const app = express();
app.use(json())

Помните, что каждый метод работает одинаково. Это просто другой способ представить ваш код. Какой метод вы используете?

Сноска

Это было весело. Оставьте комментарий или отправьте мне сообщение в Twitter.

Shameless Plug: Если вы работаете в отличной компании и ищете разработчика программного обеспечения с разнообразным набором навыков и жизненным опытом, отправьте мне сообщение в Twitter и проверьте мой LinkedIn.

Первоначально опубликовано на https://dev.to 20 июля 2020 г.