在Typescript Declaration文件中等效module.exports

时间:2017-01-06 00:09:23

标签: typescript

我尝试做一个库的声明文件。

library.js文件中有:

if (typeof module !== 'undefined' /* && !!module.exports*/) {
    module.exports = Library;
}

我应该在library.d.ts文件中添加什么才能在我的代码中导入和使用此库?

我希望能够做到:

import { Library } from 'library';
const instance = new Library();

2 个答案:

答案 0 :(得分:0)

对于export =

,您必须使用此语法
import Library = require("library");

更多相关信息:export = and import = require()

答案 1 :(得分:0)

您需要使用特殊的export =import Library = require语法,如@Nitzan指出的那样:

export = and import = require()


完整的示例:

node_modules/library/index.js

module.exports = function(arg) {
  return 'Hello, ' + arg + '.';
}

library.d.ts 从技术上讲,此文件名并不重要,仅扩展名.d.ts

declare module "library" {
  export = function(arg: string): string;
}

source.ts

import Library = require('library');

Library('world') == 'Hello, world.';