学习TypeScript18(声明文件d.ts)
声明文件 declare
当使用第三方库时,我们需要引用它的声明文件,才能获得对应的代码补全、接口提示等功能。
declare var 声明全局变量
declare function 声明全局方法
declare class 声明全局类
declare enum 声明全局枚举类型
declare namespace 声明(含有子属性的)全局对象
interface 和 type 声明全局类型
/// <reference /> 三斜线指令
例如我们有一个express 和 axios
发现express 报错了
让我们去下载他的声明文件
npm install @types/node -D
那为什么axios 没有报错
我们可以去node_modules 下面去找axios 的package json
发现axios已经指定了声明文件 所以没有报错可以直接用
通过语法declare 暴露我们声明的axios 对象
declare const axios: AxiosStatic;
如果有一些第三方包确实没有声明文件我们可以自己去定义
名称.d.ts 创建一个文件去声明
案例手写声明文件
index.ts
import express from 'express'const app = express()const router = express.Router()app.use('/api', router)router.get('/list', (req, res) => {res.json({code: 200})
})app.listen(9001,()=>{console.log(9001)
})
express.d.ts
declare module 'express' {interface Router {get(path: string, cb: (req: any, res: any) => void): void}interface App {use(path: string, router: any): voidlisten(port: number, cb?: () => void): void}interface Express {(): AppRouter(): Router}const express: Expressexport default express
}
关于这些第三发的声明文件包都收录到了 npm
npm js
学习TypeScript19(Mixins混入)_qq1195566313的博客-CSDN博客
学习TypeScript18(声明文件d.ts)相关推荐
- php 得到 ts文件,获取TypeScript声明文件.d.ts步骤详解
这次给大家带来获取TypeScript声明文件.d.ts步骤详解,获取TypeScript声明文件.d.ts的注意事项有哪些,下面就是实战案例,一起来看一下. 一.TypeScript的声明文件就像C ...
- TypeScript 类型声明文件.d.ts
文章目录 一.TS 中的两种文件类型 二.类型声明文件的使用说明 1. 使用已有的类型声明文件 1.1 内置类型声明文件 1.2 第三方库类型声明文件 1.2.1 库自带声明文件 1.2.2 Defi ...
- react-native 为本地js和开源库的js编写.d.ts声明文件
读书不觉已春深 !明日清明节 在使用Typescript编写程序RN过程中遇到困扰,且不论react,不论在浏览器中,只论写react-native的APP,怎么使用 declare声明文件 和 na ...
- ts自动编译声明文件_拥抱 TS:细数选择 TS 的 N 种理由
作者 | 马靖 day day up, bye bye bug 最近在做一个新项目,技术大佬告知前端要用 TS .前端小白的我内心疑惑"弱类型语言它不香嘛,为什么选择 TS ?" ...
- VSCode 中,TS 提示 ”无法找到 *.vue 声明文件“ 的解决方案
在使用 VSCode 开发 Vue3 + TS 项目时,编辑器一直有一个报错,因为不影响编译和运行,所以就一直没在意,但这两天看着这红杠提示实在是太别扭,今天就来解决一下这个问题,还自己一个清爽的开发 ...
- ts自动编译声明文件_TS 的声明文件
打算为你的团队写一个封装好的工具?TS的声明文件是必不可少的,它不仅仅让你的工具支持TS,更是负责充当一个说明书的作用,让人对其的使用一目了然. 什么是声明语句?什么时候需要他? 假如我们想使用第三方 ...
- class ts 扩展方法_ts类型声明文件的正确使用姿势
ts类型声明文件的正确使用姿势 ts声明文件类型 npm install @types/jquery --save-dev 与npm一同发布 解释: package.json 中有 types 字段, ...
- 在ts文件中引入js模块,编写声明文件的方法
一.声明文件的作用 在ts文件中引入js文件,由于js代码中没有类型约束,所以ts无法获得js代码的类型信息,进而会隐式推断js中类型为any,失去了ts代码类型推断和约束的作用,声明文件就是将一个j ...
- 关于vue3+ts import引入js出错无法找到模块“XXXXX”的声明文件。
最近在写一个小项目在做一个提示封装时候出现了 无法找到模块"-/components/message.js"的声明文件."e:/Vue/客/cms_v3/src/comp ...
最新文章
- 云拨测助力节卡机器人,全面优化海外网站性能
- (原创) 看电影 源代码 有感——量子力学的玄妙
- Python 数据科学入门
- 过Serverless技术降低微服务应用资源成本
- 如何在Web浏览器中查看XML文件
- 如何设置 Web 服务器的权限之iis
- java list 差集_Java基础之集合框架
- layui表单元素的radio单选框问题
- 计算机组成原理 王道考研2021 第一章:计算机组成原理概述 -- 计算机硬件的基本组成、认识各个硬件部分
- mysql年龄数据类型_MySql 数据类型
- sql函数REPLACE用法,根据指定字符串替换成想要的字符串
- 2021年第十八届五一数学建模竞赛题目 C题 数据驱动的异常检测与预警问题 解题论文完整版
- python实现DES加密解密
- python中的array函数作用_Python中的numpy常用函数整理
- 小米手机miui12系统下拉通知栏有通知但是看不到通知内容
- python函数定义时缩进的作用_定义函数时,函数体的正确缩进为?_学小易找答案
- Pycharm this applicatation failed to start because it could not find or laod the qt plaform plugin
- MM模块物料-供应商-PO-表
- GB、Gb、MB、Mb知识扫盲
- 探索TiDB Lightning源码来解决发现的bug