在Typescript中导出函数

时间:2013-03-12 15:25:32

标签: javascript module typescript

我有一个.ts文件,其中包含模块和模块外部的函数,如下所示:

$(function () {
   populate()
});

function populate() {
...
}

module portfolio.charts {
   export function foo(){
   ...
   }
}

使用Typescript编译器命令tsc --declaration创建声明文件。此.d.ts文件包含以下代码:

 function populate(): void;
 module portfolio.charts {
       function foo(): void;
 }

为什么导出populate()函数和portfolio.charts模块?我认为有必要使用关键字export来导出函数或模块。如果我将d.ts文件添加为另一个文件的依赖项,我可以使用所有函数和模块。我可以将它们声明为私人吗?谢谢,抱歉我的英语。

1 个答案:

答案 0 :(得分:7)

TypeScript规范有点干,所以这里有一些例子。

示例1

module MyModule {
    class MyClass {
        myFunction() {
            alert('Test');
        }
    }

    function myOtherFunction() {
        alert('Test Again');
    }
}

在此示例中,MyModule是一个全局模块(它不在任何其他模块中),因此出现在定义文件中。 MyClassmyFunctionmyOtherFunction在定义中不可见:

module MyModule {
}

所以要在宣言中看到一些东西,它要么......

  1. 需要在全球范围内,例如MyModule或类似populate

  2. 需要以export关键字

  3. 为前缀

    在您的示例中,第1点适用。