< блог ·
TypeScript во Vue без оверинжиниринга
Как я типизирую Vue и Nuxt в проде: полезные типы, меньше вложенных дженериков и что сознательно пропускаю.
TypeScript нравится, когда ловит настоящие баги. Не нравится, когда каждый prop превращается в трёхуровневый дженерик. Во Vue держу типы рядом с данными: ответы API, модели форм, пара общих сущностей. Компоненты оставляю тонкими.
Банк и data-проекты научили: «strict везде» — это не то же самое, что «безопасно». Strict mode полезен. Хитрые type-трюки обычно только тормозят всех. Если типу нужен комментарий, чтобы его понять — модель надо переписать.
Типизирую границы, середину оставляю скучной. Для большинства Nuxt-приложений, которые я выкатываю, этого хватает.