jac*_*891 2 javascript module typescript
我有一个.ts模块和一个模块外部模块的文件,如下所示:
$(function () {
populate()
});
function populate() {
...
}
module portfolio.charts {
export function foo(){
...
}
}
Run Code Online (Sandbox Code Playgroud)
使用Typescript编译器命令tsc --declaration创建声明文件.该.d.ts文件包含以下代码:
function populate(): void;
module portfolio.charts {
function foo(): void;
}
Run Code Online (Sandbox Code Playgroud)
为什么输出populate()功能和portfolio.charts模块?我认为关键字export必须导出函数或模块.如果我将d.ts文件添加为另一个文件的依赖项,我可以使用所有函数和模块.我可以将它们声明为私人吗?谢谢,抱歉我的英语.
TypeScript规范有点干,所以这里有一些例子.
例1
module MyModule {
class MyClass {
myFunction() {
alert('Test');
}
}
function myOtherFunction() {
alert('Test Again');
}
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,MyModule是一个全局模块(它不在任何其他模块中),因此它将出现在定义文件中.MyClass,myFunction并且myOtherFunction在定义中是不可见的:
module MyModule {
}
Run Code Online (Sandbox Code Playgroud)
因此,要在宣言中看到某些内容,它要么......
需要在全球范围内,例如,或者MyModule像populate你的例子,或者
需要以export关键字为前缀
在您的示例中,第1点适用.