dor*_*uck 12 javascript typescript
使用TypeScript时是否可以禁用类型检查?我喜欢TypeScript用于类,接口等但对于我通常从事的较小的一个人项目我真的不需要进行类型检查,并且没有为不常见的库找到现成的类型定义的痛苦或者它的最新版本是痛.谢谢
Chr*_*phe 25
在 TypeScript 3.7 中,如果文件以以下注释开头,则将禁用类型检查:
// @ts-nocheck
Run Code Online (Sandbox Code Playgroud)
如前所述,在以前的版本中,您可以通过在前一行中包含以下注释来禁用对单行的检查:
// @ts-ignore
Run Code Online (Sandbox Code Playgroud)
在TypeScript中,当以这种方式定义时,类型可以是可选的.
由于您遇到的最大痛苦似乎是找到外部库的类型定义,因此您可以为您不想键入的任何变量创建环境定义:
declare var variableName: any;
Run Code Online (Sandbox Code Playgroud)
例如,对于jQuery,它将是declare var $: any;.然后你可以这样做:$("#test").myNonExistentFunction();如果你想要的话.
或者,使用es2015模块时,可以执行以下代码以允许导入库:
declare module "jquery" {
var _temp: any;
export = _temp;
}
Run Code Online (Sandbox Code Playgroud)
速记环境模块声明(TS 2.0+)
在TS 2.0+中,禁用类型检查导入的更好方法是.d.ts在项目中创建文件并定义简写环境模块声明:
declare module "jquery";
// or use a wildcard
declare module "express-*"; // or use "*" to allow everything
Run Code Online (Sandbox Code Playgroud)
这将允许您自由使用这些导入而无需进行类型检查:
import $ from "jquery";
$.something(); // ok at compile time, but will be an error at runtime
Run Code Online (Sandbox Code Playgroud)
也就是说,在这个场景中采用的最佳途径是在.d.ts项目的文件中根据您使用的内容逐步定义您依赖的库的接口.
| 归档时间: |
|
| 查看次数: |
12952 次 |
| 最近记录: |