< блог ·

TypeScript во Vue без оверинжиниринга

Как я типизирую Vue и Nuxt в проде: полезные типы, меньше вложенных дженериков и что сознательно пропускаю.

TypeScript нравится, когда ловит настоящие баги. Не нравится, когда каждый prop превращается в трёхуровневый дженерик. Во Vue держу типы рядом с данными: ответы API, модели форм, пара общих сущностей. Компоненты оставляю тонкими.

Банк и data-проекты научили: «strict везде» — это не то же самое, что «безопасно». Strict mode полезен. Хитрые type-трюки обычно только тормозят всех. Если типу нужен комментарий, чтобы его понять — модель надо переписать.

Типизирую границы, середину оставляю скучной. Для большинства Nuxt-приложений, которые я выкатываю, этого хватает.