当前位置: 代码迷 >> 综合 >> d.ts文件
  详细解决方案

d.ts文件

热度:4   发布时间:2024-02-11 00:36:37.0

test文件夹(包)下建立2个文件

test.d.ts
test.js

 

test.d.ts内容

declare function Test(one:any, two:any):void;declare namespace Test {function setNum(num: number):void;
}
export = Test;

 

test.js内容

'use strict';module.exports = Test;function Test(a, b) {console.log(a, b);console.log('1')
}Test.setNum = function (num) {console.log(num)
}

 

调用:

import Test, {setNum} from "test";Test('a', 'b');     
// ====> 打印 a b
// ====> 打印 1setNum(10);
// ====> 打印 10Test.setNum(1321321321);
// ====> 打印 1321321321

 

例如:

address.d.ts

// 让你的代码支持CommonJs和AMD规范
export = address;// 定义了 Address接口
declare interface Address {ip: string;ipv6: string;mac: string;
}// 定义了3种回调类型
declare type AddressCallback = (err: Error, addr: Address) => void; 
declare type MacCallback = (err: Error, addr: string) => void;
declare type DnsCallback = (err: Error, servers: string[]) => void;// 定义全局函数 address
declare function address(interfaceName: string, callback: AddressCallback): void;
// 函数重载 address
declare function address(callback: AddressCallback): void;// 定义全局对象 address 
declare namespace address {const MAC_IP_RE: RegExp;const MAC_RE: RegExp;function dns(filepath: string, callback: DnsCallback): void;function dns(callback: DnsCallback): void;function ip(interfaceName?: string): any;function ipv6(interfaceName?: string): any;function mac(interfaceName: string, callback: MacCallback): void;function mac(callback: MacCallback): void;
}

参考链接

 

  相关解决方案