Пару лет назад, имея солидный инженерный опыт, более 10 лет изучая C / C ++ для * nix-систем и 5 лет для iOS Native, мне нужно было разработать приложение бизнес-логики для iOS и Android и бэкэнд для него всего за 3 месяца. Я выбрал React Native для разработки мобильных приложений и Node.js для серверной части по двум основным причинам:
- Один и тот же язык TypeScript (JavaScript) и один и тот же набор инструментов и библиотек для клиента и серверной части;
- Крупнейшее сообщество разработчиков программного обеспечения, сообщество JS, ведущее к самому большому и отличному набору инструментов и библиотек.
«Учись один раз, пиши везде» завладело мной.
Мне потребовалось время, чтобы изучить то, что я знаю сейчас, собирая информацию по крупицам, часто из нескольких ресурсов, чтобы реализовать одну вещь. Пришло время вернуть. Это письмо помогает мне и моей команде обобщить знания, найти проблемы и точки для рефакторинга, а также привлечь новичков без опыта работы с Node.js.
Надеюсь, вы тоже сочтете это полезным.
СОДЕРЖАНИЕ
Часть 1. Первоначальная настройка проекта: TypeScript + Node.js
Часть 3. Обновление: Logger + переменные среды
Часть 4. Node.js + Express + TypeScript: модульные тесты с использованием Jest
Часть 6. Аутентификация с помощью JWT, JSON Web Token
Часть 7. Внутреннее кеширование в Node.js
Часть 8. Внешнее кеширование в Node.js с Redis
Часть 9. Docker, Docker Compose, полное введение
Следите за новостями…
Приложение А. Структура проекта
Вы можете использовать это руководство в качестве учебного пособия, если вы новичок в Node.js или просто выбираете нужные вам части. Вам может потребоваться просмотреть Приложение A. Структура проекта, если вы сразу погрузитесь в конкретную часть, чтобы легко ориентироваться в проекте и коде.
Вы можете получить полные исходные коды проекта на git https://github.com/losikov/api-example. История коммитов Git и теги организованы по частям.