Java教程

TS中的声明文件

本文主要是介绍TS中的声明文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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中的声明文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!