Мигрируем Javascript код в TypeScript
javascript typescript frontend migration russian
Не так давно стояла задача перевести один старый проект из кода на Javascript
в TypeScript
. Хочу поделиться своим опытом такого перехода. Рассмотрим на примере разработки в Visual Studio.
Для начала стоит отметить, что такая миграция не является проблемой с точки зрения совместимости, т.к код на Javascript
- это синтаксически корректный код на TypeScript
.
Итак, выделим основные этапы, после выполнения которых произойдет чудесное превращение:
-
Переименуем все
.js
файлы в.ts
-
Настраиваем компиляцию из
.ts
в.js
- Для этого нужно скачать и установить
TypeScript
плагин для студии с официального сайта, позволяющий компилировать.ts
файлы в.js
.
- Для этого нужно скачать и установить
-
Устанавливаем определения для библиотек (
.d.ts
)- Коллекция определений библиотек находится в открытом доступе. Определения для
javascript
библиотек можно установить через tsd - это аналог NuGet Package Manager.
- Коллекция определений библиотек находится в открытом доступе. Определения для
-
Пишем определения для своего кода
- Это совсем не сложно и делается по аналогии с кучей примеров из DefinitelyTyped on GitHub. Мой пример можно посмотреть тут, который я писал по документации для библиотеки quixote
-
Рефакторим чтобы использовать язык
TypeScript
- После компиляции проекта в вашем коде будут возникать ошибки, которые слудует исправлять в соответвии с семантикой
TypeScript
. После исправления всех ошибок вы получите рабочий проект наTypeScript
со всеми вытекающими отсюда удобствами.
- После компиляции проекта в вашем коде будут возникать ошибки, которые слудует исправлять в соответвии с семантикой
Итог: Все, как оказалось невероятно просто, как досчитать до 5! :)