首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅对定义文件允许隐式any

仅对定义文件允许隐式any
EN

Stack Overflow用户
提问于 2016-07-29 18:49:56
回答 2查看 18.8K关注 0票数 21

我正在使用TypeScript,并在我的tsconfig.json中设置了"noImplicitAny": true选项。

我正在使用typings来管理类型定义文件,并在我的应用程序的入口点中使用引用路径指令来包含它们:

代码语言:javascript
运行
复制
/// <reference path="./typings/index.d.ts" />

问题是一些定义文件依赖于隐式的any,所以现在我从.d.ts文件中得到了很多编译错误。

有没有办法禁用/静默这些错误,例如基于路径或文件类型?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-07 20:30:26

随着TypeScript 2.0的发布,引入了skipLibCheck编译器选项,它应该可以解决您的问题:

TypeScript 2.0添加了一个新的--skipLibCheck编译器选项,该选项会跳过声明文件(扩展名为.d.ts的文件)的类型检查。当程序包含大型声明文件时,编译器会花费大量时间检查已知不包含错误的声明,并且通过跳过声明文件类型检查可以显著缩短编译时间。

由于一个文件中的声明可能会影响其他文件中的类型检查,因此在指定--skipLibCheck时可能无法检测到某些错误。例如,如果非声明文件扩充了声明文件中声明的类型,则可能会导致只有在检查声明文件时才会报告的错误。然而,在实践中,这种情况很少见。

默认为false,可在您的tsconfig.json中启用

代码语言:javascript
运行
复制
{
    "compilerOptions": {
        "skipLibCheck": true,
        ...
    },
    ...
}
票数 28
EN

Stack Overflow用户

发布于 2018-01-05 18:31:48

如果您需要在单个导入行上允许隐式any,您可以在非类型化模块导入之前使用//@ts-ignore属性,它将忽略隐式any (以及下一行的所有其他可能错误,因此由您决定是否正确),但它非常简单,很快就解决了我的许多头疼问题

例如,对于font font 5,我已经

代码语言:javascript
运行
复制
//@ts-ignore
import fontawesome from '@fortawesome/fontawesome';
//@ts-ignore
import regular from '@fortawesome/fontawesome-free-regular';

fontawesome.library.add(regular);

另外,它在webpack身上运行得很好

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38656955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档