Кратко перефразируя вопрос:
Неужели [включение skipLibCheck] снижает целостность набора текста вашего приложения?
Я бы согласился, что да, это так,Однако, если альтернативой является приложение, которое не компилируется, то оно становится удобным флагом.
Хотя сам Typescript является достаточно зрелым, сообщество разработчиков текстов еще относительно молодо.Определения типов доступны для множества библиотек и даже некоторых встроенных библиотек машинописи, но они могут быть несовместимы друг с другом по разным причинам.
Вы можете импортировать библиотеку, типизация которой построена с меньшими затратами.более строгий tsconfig, чем вы хотели бы - на что ваш компилятор может жаловаться, когда вы пытаетесь его использовать.
Вы можете найти две библиотеки, определяющие одинаковые типы, но несовместимые.Я импортировал несколько библиотек, которые предоставили свои собственные типы для Polyfill Buffer
, и все мое приложение не смогло скомпилироваться из-за их несовместимости.
Включение --skipLibCheck
может помочь обойти эти проблемы.Включение этого параметра не позволит Typescript проверять тип всех импортируемых библиотек.Вместо этого Typescript будет только проверять тип кода, который вы используете против этих типов.Это означает, что, пока вы не используете несовместимые части импортированных библиотек, они будут прекрасно компилироваться.
tl; dr, Да, --skipLibCheck
ухудшает проверку типов, и в идеале мы бы не сталииспользуй это.Но еще не каждая библиотека предоставляет идеальные типы, поэтому пропустить ее может быть приятно.