在内部模块中导入外部模块?

时间:2015-12-03 06:48:24

标签: typescript

所以我正在使用Node.js的打字稿构建一个库项目。我必须使用至少一个外部参考--- node.d.ts

我正在尝试使用编译器中的--out lib.js --declaration功能来生成代码。但是,如果没有内部模块/名称空间,lib.js文件及其定义为空。而且,我想在导出为库时保留一个漂亮的命名空间。

对于其他人在ts中使用此库,例如

/// <reference path="node_modules/mylib/definitions.d.ts"/>
import mylib = require('mylib');
var A = mylib.A;
var AsubB = mylib.a.B;

1 个答案:

答案 0 :(得分:0)

为了能够使用命名空间导出您的库,您需要使用模块并且可访问它们需要导出它们。

在demo.ts文件上创建一个Module zoo:

 module zoo {
        function open(): void{
            console.log("hello");
        };  
}

declare module "zoo"
{
    export = zoo;
}

请记住设置编译器选项:

tsc demo.ts --module commonjs 

用法:

  import x = require('zoo');
    x.open();
    // or
    zoo.open();

您可以查看此链接,以了解有关nodejs的打字稿的更多信息: https://basarat.gitbooks.io/typescript/content/docs/node/nodejs.html 并使用外部模块https://basarat.gitbooks.io/typescript/content/docs/project/external-modules.html