{{format('0')}} {{format('293')}} {{format('1105')}}

【TypeScript】声明文件 [ 编程杂谈 ]

大数据男孩 文章 正文

想做一个技术博客,奈何实力不够
分享

明妃

{{nature("2022-08-14 17:23:20")}}更新

声明文件

在使用 第三方库时,第三方库有很多的全局变量,在使用 TypeScript 时,TypeScript 不知道这些全局变量,就会报错智能提示也不好

比如在平常使用 jQuery 时,直接在<script> 标签 引入 jQuery 就会有 $jQuery 了,但在 TypeScript 中就不知道

// 安装 jQuery:npm install jquery

// 导入 jquery
import { jQuery } from "jquery"; 
jQuery('#foo') # 就会报错

就需要使用declare var定义它的类型

declare var没有真的定义一个变量,只是定义了全局变量 jQuery 的类型,仅仅会用于编译时的检查,在编译结果会被删除

import { jQuery } from "jquery"; 
declare var jQuery: (selector: string) => any;
jQuery('#foo'); 

手动定义 声明文件

声明文件名字格式:xxx.d.ts ,TS编译器会自动去扫描这类文件

创建 jQuery.d.ts 把下面这句从上面独立出来

declare var jQuery: (selector: string) => any;

缺点:这么多库,这么多全局变量,不可能自己加,所以这些都提供自己的声明文件

下载库自己的声明文件

很多的第三方库都定义了对应的声明文件库, 库文件名一般为 @types/xxx

可以在 https://www.npmjs.com/package/package 进行搜索

有的第三库在下载时就会自动下载对应的声明文件库(比如: webpack),有的可能需要单独下载(比如jQuery/react)

// 下载 jQuery 声明文件
npm install @types/jquery --save-dev

[mark]()

评论 0
0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}
TOP 2
Spark 2.0 单机模式与集群模式 安装

{{nature('2020-01-02 16:47:07')}} {{format('12519')}}人已阅读

TOP 3
Office 2016 Pro Plus 激活

{{nature('2019-12-11 20:43:10')}} {{format('9407')}}人已阅读

TOP 4
Linux上 MySQL 开启远程登陆的两种方法

{{nature('2019-12-26 17:20:52')}} {{format('7400')}}人已阅读

TOP 5
Linux 安装 MySQL 5.7

{{nature('2019-12-26 16:03:55')}} {{format('4877')}}人已阅读

目录

标签云

Javascript TypeScript

一言

# {{hitokoto.data.from || '来自'}} #
{{hitokoto.data.hitokoto || '内容'}}
作者:{{hitokoto.data.from_who || '作者'}}
自定义UI
配色方案

侧边栏