【问题标题】:Export function in TypescriptTypescript 中的导出函数
【发布时间】:2013-02-28 04:52:42
【问题描述】:

我有一个 .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 文件作为对另一个文件的依赖项,我可以使用所有函数和模块。我可以将它们声明为私有吗?感谢并为我的英语感到抱歉。

【问题讨论】:

    标签: javascript module typescript


    【解决方案1】:

    TypeScript 规范在这方面有点枯燥,所以这里有一些例子。

    示例 1

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

    在这个例子中,MyModule 是一个全局模块(它不在任何其他模块的内部),所以这个出现在定义文件中。 MyClass,myFunctionmyOtherFunction 在定义中是不可见的:

    module MyModule {
    }
    

    因此,要在您的声明中显示某些内容,它要么...

    1. 需要在全局范围内,例如您的示例中的MyModulepopulate,或者

    2. 需要前缀export关键字

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-02
      • 2020-06-08
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      • 2017-01-11
      • 2020-09-29
      • 2019-07-14
      相关资源
      最近更新 更多