Как и любые другие приложения, приложения на 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!