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