所以我正在使用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 :(得分: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