Задать вопрос
Sanu0074
@Sanu0074

Можно ли писать на TypeScript под NodeJS?

Вопрос о том, хорошая ли это практика? Смогу ли я использовать без особых проблем пакеты из npm, либо какие-то сторонние скрипты/классы написанные на js?
Нужны все плюсы и минусы этого подхода, хочется знать, стоит ли начинать nodejs-проект на ts, или же ограничиться es6.
p.s. Я читал что в ts 1.8 есть какая-то штука которая без особых усилий адаптирует любой код, но незнаю насколько это эффективно
  • Вопрос задан
  • 2581 просмотр
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@bromzh
Drugs-driven development
Можно ли писать на TypeScript под NodeJS? Вопрос о том, хорошая ли это практика?

Да, да
Смогу ли я использовать без особых проблем пакеты из npm, либо какие-то сторонние скрипты/классы написанные на js?

Если разобраться, для чего нужны .d.ts-файлы и как использовать typings, то проблем не будет.

Плюсы:
- свежие фичи из спецификаций ES
- статическая типизация, а, следовательно, все плюсы, которые она даёт. если в двух словах: часть ошибок будет отлавливаться ещё до запуска и, соответственно, нужно меньше тестов
- хорошая поддержка языка всякими редакторами. IDE от Jetbrains лучше будут выдавать подсказки. И даже простые редакторы кода, например Atom, Sublime, VS Code начнут выдавать нормальные подсказки, переходить по определениям в коде, выдавать сигнатуру методов, и т.д.

Минусы:
- Нужно понять, как правильно подключать обычные js-библиотеки к проекту. В целом, это не сложно, но многие не осиливают.
- Типы "существуют" только в compile-time. На выходе обычный JS со всей его динамической природой. Если код написан плохо (например, часто используется тип any), то typescript не поможет.

А про отладку я уже говорил: с ней проблем нет. Просто нужно подключить вот эту штуку, и всё будет нормально. VS Code точно умеет подключаться к нодовскому (и хромовскому) дебагеру и будет прыгать по исходникам, а не по скомпилированной каше.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы