TypeScript 之 声明文件的结构

时间:2022-05-24 16:11:56
  • https://www.tslang.cn/docs/handbook/declaration-files/library-structures.html

  • 模块化库
    一些库只能工作在模块加载器的环境下。 比如,像 express只能在Node.js里工作所以必须使用CommonJS的require函数加载。
    ECMAScript 2015(也就是ES2015,ECMAScript 6或ES6),CommonJS和RequireJS具有相似的导入一个模块的表示方法。 例如,对于JavaScript CommonJS (Node.js),有下面的代码
var fs = require("fs");

对于TypeScript或ES6,import关键字也具有相同的作用:

import fs = require("fs");

你通常会在模块化库的文档里看到如下说明:

var someLib = require('someLib');

define(..., ['someLib'], function(someLib) {

});
  • 依赖UMD库
  1. 从全局库
    如果你的全局库依赖于某个UMD模块,使用/// <reference types指令:
/// <reference types="moment" />
function getThing(): moment;
  1. 从一个模块或UMD库
    如果你的模块或UMD库依赖于一个UMD库,使用import语句:
import * as someLib from 'someLib';

不要使用/// <reference指令去声明UMD库的依赖!