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
// ====> 打印 1
setNum(10);
// ====> 打印 10
Test.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;
}
本文档介绍了如何在test包中创建并使用d.ts文件来提供类型定义。通过创建test.d.ts,可以为test.js文件提供静态类型检查。调用示例包括引入address.d.ts文件,以增强代码的类型安全性和可维护性。
1603

被折叠的 条评论
为什么被折叠?



