2015-12-03 82 views
0

所以我建立一个打字稿的图书馆项目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; 

回答

0

为了能够出口的库,你需要使用的模块,并可以接触需要导出他们的命名空间。

上demo.ts文件创建模块动物园:

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