系列文章会一直更新,大家可以收藏加关注。不懂的可以在评论区留言。
Typescript版本
Typescript | 5.5.2 |
compilerOptions
noLib
这个选项基本不会用到,当你把noLib设置为true的时候。lib字段将会失效。
{
compilerOptions: {
"noLib": true
}
}
在你编译的时候,如果显示设置了lib选项,tsc也会报错(估计是防止你用错)。
使用效果
他会让typescript自带的*.lib.d.ts文件不会生效。也就是说,你的typescript现在没有任何类型声明文件!
编译的时候也会报错
使用场景
我感觉99.999%的人不会用到这个字段。
除非你有比较严格的使用场景,比如在开发过程中一些API或类型不允许使用。
或者我基于Javascript开发了一套编译环境(类似微信小程序,不知道这个比喻恰当不恰当)。阉割掉了一部分API并新增了独属于自己的API。那么我需要定制自己的类型。
大家可以把*.lib.d.ts当成一个类型声明文件,在我们项目的开发过程中自己定义的API也要自己去创建类型声明。
定义自己的*.lib.d.ts文件
现在为了tsc能正常编译,我需要补全一下类型声明。
我定义了一个no.lib.d.ts文件,然后把lib.es5.d.ts和lib.es2015.promise.d.ts的内容粘贴过来(图省事儿)。
同时target设置为ES5。
此时tsc编译不会报错了。但是我的IDE(Webstorm)仍然提示类型报错。(该问题不打算继续深入调查了)