我一直在研究skipLibCheck TypeScript编译器参数的进一步解释,以确定将此设置为true的安全性.我发现的最深入的解释如下:
新的--skipLibCheck TypeScript 2.0添加了一个新的--skipLibCheck编译器选项,可以跳过声明文件(扩展名为.d.ts的文件)的类型检查.当程序包含大型声明文件时,编译器会花费大量时间类型检查已知不包含错误的声明,并且可以通过跳过声明文件类型检查来大大缩短编译时间.
由于一个文件中的声明可能会影响其他文件中的类型检查,因此在指定--skipLibCheck时可能无法检测到某些错误.例如,如果非声明文件增加了声明文件中声明的类型,则可能导致仅在检查声明文件时报告的错误.然而,在实践中,这种情况很少见.
我明白你显然从编译器获得性能上的好处,不必输入被认为不包含错误的检查文件,但我看到这个标志用于解决编译器发出的与声明文件有关的错误问题.
当然使用此标志来解决这个问题会降低应用程序输入的完整性吗?