ex1.ts
namespace mylib
{
exports function fibo(x:int):int
{
if(x==1||x==2)
{
return 1;
}
return fibo(x-1)+fibo(x-2);
}
}
ex2.ts
import fibo = mylib.fibo;
function main()
{
console.log(fibo(10));
}
main();
ex3.ts
///<reference path="./ext1.ts" />
var fibo = mylib.fibo;
function main()
{
console.log(fibo(10));
}
main();
//两种方式都可以
编译输出为一个文件,使用 es5 或以上支持setter getter
node “C:\Users\Administrator\AppData\Roaming\npm\node_modules\typescript\bin\tsc” -t es5 --outFile ex.js ex1.ts ex2.ts
执行
node ex.js
结果:
55
使用命名空间,输出必须是一个文件,就是编译器将其调用者和被调用者合并了。很类似C编译器将静态库和调用者合并的情况输出一个exe