浅学TypeScript(6)——声明文件
什么是声明文件
简单的说就是把js的库,增加一份声明,这个声明描述了库中的变量、函数类等的类型,typescript通过引入这份声明文件,便可以使用这个js库。
因此这个声明文件可以理解为ts和js之间的黏合剂。
去哪里找声明文件
在开源社区中,很多库都已经有其声明文件了,
通过
npm install @types/xxx --save-dev
如jquery
npm install @types/jquery --save-dev
即可导入对应的声明文件
在微软的TypeSearch网页,可以找到你所需要的声明文件。
自己写的旧代码要兼容js和ts
自己写的旧代码要兼容js和ts,也可以通过写声明文件来实现,
具体的语句有这几种:
- declare var 声明全局变量
- declare function 声明全局方法
- declare class 声明全局类
- declare enum 声明全局枚举类型
- declare namespace 声明(含有子属性的)全局对象
- interface 和 type 声明全局类型
具体可以看declaration-files
自动生成声明文件
如果库的源码本身就是由 ts 写的,那么在使用 tsc 脚本将 ts 编译为 js 的时候,添加 declaration 选项,就可以同时也生成 .d.ts 声明文件了。
我们可以在命令行中添加 --declaration(简写 -d)
,或者在 tsconfig.json 中添加 declaration 选项。这里以 tsconfig.json 为例:
{
"compilerOptions": {
"module": "commonjs",
"outDir": "lib",
"declaration": true,
}
}
上例中我们添加了 outDir 选项,将 ts 文件的编译结果输出到 lib 目录下,然后添加了 declaration 选项,设置为 true,表示将会由 ts 文件自动生成 .d.ts 声明文件,也会输出到 lib 目录下。
版权声明
本文章由作者“衡于墨”创作,转载请注明出处,未经允许禁止用于商业用途
发布时间:2019年12月05日 15:33:26
备案号:
闽ICP备19015193号-1
关闭特效
评论区#
还没有评论哦,期待您的评论!
引用发言