Переводим на TypeScript наш Node.js/EXPRESS
В предыдущих статьях я рассказал как написать простенький сервер.
JavaScript это язык с динамической типизацией. Это полезно тем, что позволяет писать код более легко. Но, разработчики должны уделять больше внимания типам аргументов, которые нужны в функции, а также какое значение должно возвращаться. Любой более-менее крупный проект пишется на TypeScript.
ЗДЕСЬ И ДАЛЕЕ МЫ БУДЕМ ПИСАТЬ ТОЛЬКО НА TYPESCRIPT
Разветвление проекта на js и ts c помощью git
Чтобы не потерять версию js давайте ее оставим в отдельной ветке.
Создаем две ветки:
$ git checkout -b "jsDevelop"
$ git checkout -b "tsDevelop"
JS ветка у нас останется с js версией. Её мы трогать не будем. Убедитесь, что находитесь в ветке TS
Инициализация TypeScript
$ npm install -D typescript @types/node @types/express
Флаг -D или --save-dev означает установку для разработки devDependencies.
Далее нам надо инициализировать файл конфигурации tsconfig.json:
$ npx tsc --init
Меняем содержимое файла на базовый код любого проекта
Далее меняем скрипты в package.json для этого устанавливаем модуль перезапуска при изменении любого из файлов:
$ npm i -D ts-node-dev
$ npm install -D tsconfig-paths
Меняем вызов скрипта на
"scripts": {"dev": "ts-node-dev --respawn --transpile-only --exit-child -r tsconfig-paths/register src/server.ts" },
Убираем "type": "module",
Ну и пора закинуть server.js в src и заменить имена всех файлов js на ts и исправить ошибки в путях.
Запускаем сервер $ npm run dev
Добавляем типы
Ура, у нас всё работает:
Делаем коммит и слияние ветки tsDevelop с master
В ветке jsDevelop у нас остался js вариант сервера