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. Oracle 启用、禁用触发器

    基本语法 启用指定表中所有触发器(trigger) alter table table_name enable all triggers; 语法: alter table 表名 enable all ...

  2. Azure Function 时区设置

    一,引言 Azure Function 上的默认使用UTC 运行程序,我们在获取时间,或者通过时间执行某些逻辑时,返回UTC 时间,导致业务数据不正常,由于 Azure Function 是微软提供的 ...

  3. elementplus django drf 如何做到确认单据禁止删除

    elementplus django drf 如何做到确认单据禁止删除     要在Django和Django Rest Framework(DRF)中实现禁止删除确认单据的功能,你可以通过以下步骤来 ...

  4. oeasy教您玩转vim - 12 - # 词头词尾

    词头词尾 回忆上节课内容 我们这次学了向前一个单词 w 意思是 word 还学习了向后一个单词 b 意思是 backward 这俩命令都落在单词的第一个字母 还有什么好玩的命令吗? 动手练习 我们可以 ...

  5. 这才是 PHP 高性能框架 Workerman 的立命之本

    大家好,我是码农先森. 在这个大家都崇尚高性能的时代,程序员的谈笑间句句都离不开高性能,仿佛嘴角边不挂着「高性能」三个字都会显得自己很 Low,其中众所皆知的 Nginx 就是高性能的代表.有些朋友可 ...

  6. java程序设计期末复习总结&复盘

    java复习 java的特点:简单.面向对象.可移植.跨平台.分布式.多线程.稳定安全.高性能 一个数组可以存放许多不同类型的数值. (F) StringBuffer类是线程安全的,StringBui ...

  7. python 音频处理(1)——重采样、音高提取

    采集数据->采样率调整 使用torchaudio进行重采样(cpu版) 首先导入相关包,既然使用torch作为我们的选项,安装torch环境我就不必多说了,如果你不想用torch可以使用后文提到 ...

  8. 《Python数据可视化之matplotlib实践》 源码 第二篇 精进 第六章

    图 6.1 import matplotlib.pyplot as plt import numpy as np x=np.linspace(-2*np.pi, 2*np.pi, 200) y=np. ...

  9. 利用强化学习算法解释人类脑对高维状态的抽象表示:how humans can map high-dimensional sensory inputs in actions

    论文: <Using deep reinforcement learning to reveal how the brain encodes abstract state-space repre ...

  10. Deepin20系统开机报错——You are in emergency mode ... Cannot open access to console, the root account is locked. emergency mode/“journalctl -xb”

    参考: https://knowledge.ipason.com/ipKnowledge/knowledgedetail.html/1286 https://blog.csdn.net/wenfei1 ...