Служба приложений Simple To Do List: Express + TypeScript

Заинтересованы в разработке серверного приложения с использованием Node? Возможно, вы захотите попробовать Экспресс. По мнению Slant, Express — лучший веб-фреймворк для Node. Он предоставляет простое минимальное серверное приложение, поэтому совершенно не имеет мнения.

Узел требует Javascript. Несмотря на гибкость Javascript, это сломанный язык.

Слава Богу за TypeScript! Вот вам и Javascript с типами!

Настройка проекта Express с использованием TypeScript довольно тривиальна, когда вы знаете, что делать. Когда он заработает, вы почувствуете необъяснимую легкость среди периодов неразберихи или хаоса, чувство, которое вы привыкли испытывать при столкновении с тяжелым программным обеспечением, с которым вы можете столкнуться в рабочие дни.

Для этого простого приложения будет только 1 таблица: task. Как и обычное приложение списка дел, оно содержит только дату, описание и логическое значение, чтобы определить, завершена ли задача. Исходный код опубликован здесь.

пакет.json

Есть несколько пакетов, которые я использую в этом проекте, чтобы помочь мне лучше развиваться:

  • mysql: для доступа к базе данных MySQL.
  • dotenv: для определения переменных среды в соответствии с состоянием развертывания. Этот пакет помогает мне легко настраивать вещи.
  • nodemon: перезапускать сервер узла каждый раз, когда в процессе разработки происходят какие-либо изменения кода.

app.ts

В этом основном коде приложения следует учитывать несколько моментов:

  • Строка 7 указывает Express анализировать тело запроса/ответа как JSON.
  • Строка 9 — это пользовательская функция, которую я делаю для разделения серверной логики в другой файл. На эту архитектуру меня вдохновил Lumen.

маршрут.тс

В этом приложении всего 3 маршрута:

  • Создать задачу
  • Просмотр задач
  • Обновить задачу

Task-controller.ts

Здесь используются обещания, потому что запросы выполняются в потоке ввода-вывода, поскольку Node. Вы столкнетесь с множеством обещаний в Express, так как каждый запрос должен обрабатываться как можно быстрее.

Полученный код может быть не таким чистым, каким должен быть. Но этого достаточно, чтобы получить представление о том, как TypeScript можно использовать в Express, чтобы предоставить более лаконичный код и сделать разработчиков более счастливыми.