Откат Node.js через NVM — быстро и безопасно
Если новая версия Node.js ломает зависимости, используйте NVM: nvm install <версия>, nvm use <версия>. Проверяйте тесты и фиксируйте версию в .nvmrc.
Если новая версия Node.js ломает зависимости, используйте NVM: nvm install <версия>, nvm use <версия>. Проверяйте тесты и фиксируйте версию в .nvmrc.
В этой статье показано, как писать автоматические тесты для простого Express REST API с помощью Jest и SuperTest. Вы увидите примеры тестов для GET, POST, PUT и DELETE, подходы к setup/teardown и рекомендации по CI.
В этом руководстве показано, как подключить express-session к серверу на Node.js и Express: зачем нужны сессии, как настроить middleware, как безопасно хранить идентификатор сессии в куках и какие есть альтернативы и рекомендации для продакшена.
В Node.js нет встроенного sleep, но поставить паузу можно через setTimeout (неблокирующе), async/await с Promise (читаемо) или пакет sleep-promise (удобно). Избегайте busy-wait в продакшне.
В этой статье показано, как настроить Multer для загрузки и сохранения изображений на сервере Node.js: установка, конфигурация storage, валидация типа и размера, примеры маршрутов для одиночной и множественной загрузки, а также рекомендации по безопасности, тестам и альтернативные подходы.
Пакет open даёт простой кроссплатформенный API для открытия файлов и URL из Node.js — без ручного вызова platform-specific команд. Установите через npm, импортируйте в код и используйте open('path') или open('https://...') — при необходимости укажите приложение через опции или через open.apps для браузеров.
Ошибка означает исчерпание памяти V8; временно увеличить NODE_OPTIONS/--max-old-space-size для запуска, но провести профилирование и исправить утечку.
EventEmitter — встроенный в Node.js класс для реализации шаблона наблюдатель. Используйте on/once/prependListener, обрабатывайте error и следите за числом слушателей.
В Node.js UUID можно создать через встроенный crypto.randomUUID(), пакет uuid (поддержка версий) или Nano ID (короткие и быстрые идентификаторы). Выбор зависит от формата, совместимости и производительности.
Используйте mongodb-memory-server, чтобы запускать реальную MongoDB в памяти для изолированных интеграционных тестов Mongoose. В статье есть готовые примеры кода, настройка Jest и советы по CI.
writeFile удобен для небольших файлов и простых задач. appendFile подходит для добавления данных в конец файла. Для больших объёмов или потоковой передачи используйте createWriteStream — он записывает кусками и экономит память.
CSV — простой формат для обмена данными. Для небольших файлов подойдёт fs, для надёжного парсинга и стримовой обработки используйте fast-csv. Следуйте чеклистам и тестам для продакшна.
Краткое руководство по созданию простого веб‑сервера на Node.js с Express: установка, минимальный код server.js, запуск и тестирование локально.
Покажу, как быстро подключить SSL/HTTPS в локальном Node.js‑сервере — создать self‑signed сертификат, конфигурировать https.createServer и обойти распространённые ошибки (EACCES, предупреждения браузера).
Показано, как безопасно читать, записывать и обновлять файлы JSON в Node.js с помощью встроенного модуля fs (асинхронные и синхронные методы). Приведены примеры кода, рекомендации по безопасности, альтернативы и чек-листы для разработчиков и админов.
Сессии позволяют хранить чувствительные данные на сервере и поддерживать состояние между запросами. Настройте express-session, используйте внешний store (Redis/Mongo) и включите флаги cookie для безопасности.
В этой статье показано, как настроить Multer для приёма изображений в Node.js: от инициализации и конфигурации до валидации, фронтенд-примеров и советов по безопасности.
EventEmitter — встроенная в Node.js абстракция для генерации и обработки событий. В статье показано, как создавать и эмитить события, регистрировать слушатели (включая одноразовые и приоритетные), обрабатывать ошибки, управлять утечками слушателей и выбирать альтернативы.
В Node.js можно генерировать UUID с помощью crypto.randomUUID(), пакета uuid или Nano ID; выбирайте по требованию к формату, зависимостям и компактности.
Ошибка возникает, когда Node.js исчерпывает доступную кучу. Быстрое решение — увеличить лимит через NODE_OPTIONS или флаг --max-old-space-size; надёжное — найти и исправить утечки и оптимизировать обработку данных.