TS中的声明文件 .d.ts 的作用是为了在TS中使用js文件,但是js文件没有类型,ts又是一个类型严格的语言。所以为了在ts中使用js第三方包,或者自定义Js模块。便由此引出了.d.ts文件。

需要注意的是 声明文件的文件名需要和你引入的js文件名相同,只是文件后缀不同。

描述文件通常可以分为3种。1.全局声明 2.模块声明 3.UMD声明。

UMD就是 既可以全局也可以模块,

所以在此只记录全局和局部的声明文件编写方式


// 全局类库 global-lib.js
function globalLib(options) {
console.log(options);
} globalLib.version = '1.0.1';
globalLib.doSomething = function() {
console.log('typescript search')
} // 声明文件 global-lib.d.ts
declare function globalLib(options: globalLib.Options): void;
declare namespace globalLib {
const version: string;
function doSomething(): void;
interface Options {
[propName: string]: any;
}
}
// 模块类库

const version = '1.0.1';
const doSomething = function() {
console.log('typescript search')
} function moduleLib(options) {
console.log(options);
} moduleLib.version = version;
moduleLib.doSomething = doSomething; module.exports = moduleLib; // 声明文件
declare function moduleLib(option:Options):void;
interface Options {
[key:string]:any
}
declare namespace moduleLib {
const version:string;
function doSomething():void;
}
export = moduleLib;
// 使用
let hello: string = 'Hello TypeScript'
document.querySelectorAll('.app')[0].innerHTML = hello globalLib({name:'申屠肆'});
console.log(globalLib.version); import moduleLib from "./libs/module-lib";
import matchModuleLib from './libs/match-module-lib' console.log(matchModuleLib('asda17398977903sdas')); moduleLib({name:'模块'})

记录一下

TS中的声明文件的更多相关文章

  1. TypeScript Writing .d.ts files(编写声明文件)

    当使用扩展的JavaScript库或者插件API的时候,将需要使用声明文件(.d.ts)来描述库的类型.本文内容将包括如何编写声明文件相关的一些高级概念,然后用一些例子来展示如何将各式各样的概念与声明 ...

  2. 自学 TypeScript 第一天 环境开发配置 及 TS 基本类型声明

    前言:  自学第一天,什么是TS ,为什么要用 TS TS 全程 Typed JavaScript at Any Scale 解释起来就是 添加了类型系统的 JavaScript, 是 JavaScr ...

  3. TS学习随笔(七)->声明文件

    now我们来看一看TS怎么声明文件, 在JS里面我们经常会使用各种第三方类库,引入方式也不太相同,常见的就是在HTML中通过script标签引入,然后就可以使用全局变量$或者jQuery了 我们通常这 ...

  4. TS声明文件

    now我们来看一看TS怎么声明文件, 在JS里面我们经常会使用各种第三方类库,引入方式也不太相同,常见的就是在HTML中通过script标签引入,然后就可以使用全局变量$或者jQuery了 我们通常这 ...

  5. Android:关于声明文件中android:process属性说明

    笔者在学习Android Service组件的过程中碰到了一个问题,就是在Android应用的声明文件Manifest.xml中有时候会对相关的服务标签设置一个android:process=&quo ...

  6. TypeScript 如何编写类库声明文件 .d.ts

    TypeScript 如何编写类库声明文件 .d.ts how to write a d.ts file declaration-files/ https://www.typescriptlang.o ...

  7. .net中创建xml文件的两种方法

    .net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...

  8. TypeScript 的声明文件的使用与编写

    https://fenying.net/2016/09/19/typings-for-typescript/ TypeScript 是 JavaScript 的超集,相比 JavaScript,其最关 ...

  9. JS如何捆绑TypeScript声明文件

    前话 TypeScript是JavaScript类型的超集 这是TypeScript的文档介绍的一句话,那么他们存在联系呢? 我的理解是,TypeScript在JavaScript基础上引入强类型语言 ...

  10. 如何编写 Typescript 声明文件

    使用TypeScript已经有了一段时间,这的确是一个好东西,虽说在使用的过程中也发现了一些bug,不过都是些小问题,所以整体体验还是很不错的. TypeScript之所以叫Type,和它的强类型是分 ...

随机推荐

  1. [oeasy]教您玩转python - 0006 - 自由软件运动和开源运动

    ​ 顺序执行 回忆上次内容 上次写了10000行代码 10000行代码 都是写在明面上的 人家一下载​​py​​ 文件 就能看个明明白白 修改或者运行程序都很方便 这程序全都这么公开出来 大家随意修改 ...

  2. abc--cf训练日常总结

    ABC 最近遇到好多思维和位运算的题目不会做,特地过来总结一些小小的知识点. 思维题目 https://atcoder.jp/contests/abc353/tasks/abc353_c 这道题目要求 ...

  3. JavaScript一天一个算法题~持续更新中。。。。。

    1,数组去重 i.暴力去重 思路:建一个空数组,通过判断原数组的元素是否在空数组内,如果在,不放入,不在,放入空数组. function clearCommnetArray(array){ let a ...

  4. 机器学习:详解什么是端到端的深度学习?(What is end-to-end deep learning?)

    什么是端到端的深度学习? 深度学习中最令人振奋的最新动态之一就是端到端深度学习的兴起,那么端到端学习到底是什么呢?简而言之,以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理.那么端到端深度学 ...

  5. Linux下搭建Elasticsearch7.6.2集群

    使用VMvare创建虚拟机 我的创建的三台分别是: 192.168.115.129 node-1 192.168.115.130 node-2 192.168.115.131 node-3 注意:克隆 ...

  6. 《最新出炉》系列入门篇-Python+Playwright自动化测试-57- 上传文件 - 番外篇

    1.简介 前边的三篇文章基本上对文件上传的知识介绍和讲解的差不多了,今天主要是来分享宏哥在文件上传的实际操作中发现的一个问题:input控件和非input控件的上传API对其都可以上传成功.废话不多说 ...

  7. app专项测试:app弱网测试(网络测试流程)

    app专项测试:app弱网测试(网络测试流程) 一.网络测试的一般流程 step1:首先要考虑网络正常的情况 ① 各个模块的功能正常可用 ② 页面元素/数据显示正常 step2:其次要考虑无网络的情况 ...

  8. 【SpringMVC】 Controller接收深度复杂对象封装不到的问题

    首先来看数据结构的定义: 一个Form对象,然后里面有一个排版日期对象的List集合 排班集合的每个元素中又有一个String集合 在前端的Post请求中可以看到这个String集合是传递了的 但是D ...

  9. 【JPA】01 快速上手

    前言 Preface 本文的编写根据此视频参考:应该是非常好理解的JPA了 https://www.bilibili.com/video/BV1hE411s72B 小提示:[不想听概念直接上手从P8开 ...

  10. 【Redis】04 配置文件分析

    配置文件Redis.conf注释信息: 1.启动项: 启动Redis要求必须加上配置文件redis.conf路径作为第一参数加载 文档样例: ./redis-server /path/to/redis ...