Как и любые другие приложения, приложения на JavaScript также должны быть хорошо написаны.

В противном случае позже мы столкнемся со всевозможными проблемами.

В этой статье мы рассмотрим некоторые передовые практики, которым следует следовать при написании приложений Node.

Используйте Helmet, если мы пишем веб-приложение

Нам следует использовать Helmet, если мы пишем веб-приложение.

Он делает несколько вещей, в том числе:

  • добавить защиту XSS
  • предотвратить кликджекинг с помощью X-Frame-Options
  • обеспечение того, чтобы все соединения были HTTPS
  • установка Context-Security-Policy заголовка
  • отключите X-Powered-By заголовок ответа, чтобы злоумышленники не могли сузить список библиотек, которые мы используем для написания приложения.

Шлем установит разумные значения по умолчанию для всех этих параметров.

Мы можем установить его, запустив:

npm install helmet

В нашем приложении Express мы можем использовать промежуточное ПО, написав:

const helmet = require('helmet');
app.use(helmet());

Следите за нашими приложениями

Если мы запускаем наше приложение, нам нужно его отслеживать.

Пользователи недовольны, если наше приложение выходит из строя и нет быстрого решения.

Следовательно, нам нужно отслеживать наше приложение и предупреждать всех, чтобы мы могли быстро запустить его снова.

Например, KeyMetrics.io интегрируется с PM2 для проверки работоспособности приложения.

Также предусмотрена панель управления, чтобы показать нам, когда она работает или нет.

Задержка и события могут быть проверены.

Протестируйте наш код

Мы можем протестировать наш код с помощью автоматических тестов, чтобы не беспокоиться о внесении изменений в код.

Они работают быстро и автоматически, поэтому нам не нужно самостоятельно проверять каждую часть нашего приложения.

Мы должны добавлять тесты, когда исправляем ошибки и регулярно запускаем наши тесты.

Есть несколько способов запустить тесты.

Мы можем использовать Mocha, Chai, Jest или Jasmine для их запуска.

Все они популярны и обладают одинаковой функциональностью.

Чтобы создать тесты, которые отправляют запросы, мы можем использовать Supertest, чтобы делать запросы и проверять результаты.

Структурное решение по компонентам

Мы должны структурировать наш проект по компонентам.

Таким образом, мы сможем найти их позже.

Если у проекта нет структуры, легко заблудиться.

Мы должны разделить наш код на модули.

Сложите наши компоненты так, чтобы Express оставался в пределах его границ

Мы должны использовать Express только для контроллера части приложения.

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

Таким образом, каждый модуль и функция выполняют свои функции.

Смешивание разных частей вместе затрудняет их тестирование и обслуживание.

Оберните общие утилиты как пакеты NPM

Если у нас есть общие вещи, которые используются в нескольких проектах, мы должны поместить их в отдельный пакет.

Общие функции, такие как ведение журнала, шифрование и т. Д., Должны быть в отдельном пакете.

Таким образом, нам нужно изменить только один пакет, чтобы обновить функциональность.

Отдельное приложение Express и сервер

Наше приложение Express не должно быть одним большим файлом.

Точка входа должна быть отделена от остальной части приложения.

Один большой файл замедляет работу.

API должен быть в app.js, а сетевой код должен быть в www.

Объявление API также может быть разделено на компоненты, если оно велико.

Заключение

Мы можем лучше организовать наше приложение.

Кроме того, мы можем предпринять шаги для повышения безопасности и мониторинга нашего приложения.

JavaScript на простом английском языке

Понравилась эта статья? Если да, то получите больше похожего контента, подписавшись на наш канал на YouTube в Decoded!