Стек TEN: Шаблон Typescript-Express-Node (Обновлено 2022)


Обзор

Стек TEN — это Typescript + Express + Node стартовый набор для разработки REST API серверного приложения.
Ничего нового под солнцем, просто простая комбинация, чтобы сделать разработку сервера немного быстрее. Этот шаблон идеально подходит для всех, кто начинает работать в мире серверных приложений на базе Node.js.

Этот шаблон включает в себя:

  • Архитектура ООП на основе классов с DI & DAO (масштабируемая).
  • Оборудован для TDD с помощью Jest
  • Все строго типизировано с помощью Typescript
  • Функции/модули ES6
  • ES7 async / await
  • Глобальная архитектура обработки ошибок с шаблонами (ApiError, TimeOutError, ValidationError, etc)
  • Валидация запросов как пользовательское промежуточное ПО с Express-validator
  • Молниеносное протоколирование с Express-Pinno-Logger
  • Запуск с Nodemon для автоматической перезагрузки & смотреть
  • ESLint для линтинга кода
  • Форматирование кода с помощью Prettier
  • Управление конфигурацией с помощью dotenv
  • Улучшенные коммиты с помощью Husky(v8) — pre-commit & pre-push
  • Управление процессом создания приложений с помощью PM2
  • Рабочие процессы CI/CD с помощью Github Actions
  • Редактируемые Github Pull requests & Issue templates

Необходимые условия

  • Node.js (>= 16.x)
  • Yarn или NPM

Установите

  • Форкните или используйте этот репозиторий шаблонов.
  • Клонируйте форкнутый репозиторий.
  • Установите зависимости с помощью yarn или npm.

Убедитесь, что в вашей системе уже установлены node.js и npm или yarn.

  • Установите путь git remote add origin.
 git remote add origin ${forked-and-cloned-path}
Войдите в полноэкранный режим Выйдите из полноэкранного режима

Обновите url, если у вас уже есть origin.

Настроить

  • Скопируйте .env.example файл в корень приложения.
  • Добавьте или измените определенные переменные и обновите его в соответствии с вашими потребностями.
 cp .env.example .env
Вход в полноэкранный режим Выйдите из полноэкранного режима

Проверьте папку config для настройки параметров (/src/config).

Псевдоним @

Чтобы сделать пути чистыми и легкими для доступа, @ устанавливается для пути /src.

// BEFORE
import config from './config';
import routes from './routes';

// NOW
import config from '@/config';
import routes from '@/routes';
Вход в полноэкранный режим Выход из полноэкранного режима

Вы можете настроить эту установку:

Локальная разработка

Запустите сервер локально. Он будет запущен с Nodemon и готов к работе на порту 8080 (если вы не указали его в вашем .env).

 yarn start # or npm start
Вход в полноэкранный режим Выйдите из полноэкранного режима

Проверьте package.json, чтобы увидеть больше «скриптов».

Непрерывная интеграция и непрерывное развертывание (CI/CD)

Рабочие процессы находятся в папке .github.
CI будет запускаться при каждом обновлении PR
CD будет запускаться, когда указанные ветки будут выложены (например, main , develop).

Если вам нужна дополнительная информация о настройке, ознакомьтесь с этой статьей

Production

Сначала соберите приложение.

 yarn build # or npm run build
Войдите в полноэкранный режим Выйдите из полноэкранного режима

Затем используйте pm2 для запуска приложения в качестве службы.

 yarn service:start # or npm run service:start
Войти в полноэкранный режим Выход из полноэкранного режима

Вклад

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

Оцените статью
devanswers.ru
Добавить комментарий