Обзор
Стек 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
Вклад
Ознакомьтесь с исходным кодом здесь
Пожалуйста, не стесняйтесь открывать проблему
или запрос
, чтобы предложить изменения или дополнения.