【问题标题】:declare global namespace variable from TypeScript从 TypeScript 声明全局命名空间变量
【发布时间】:2013-08-12 21:04:00
【问题描述】:

如何从 typescript 显式声明全局命名空间中的变量?

我需要编译器来生成以下 javascript 代码:

MyExtension = someFunction()

不幸的是,我只能让它生成

var MyExtension = someFunction()

这涉及到流星包的最新版本(仍在 rc 中)的问题。 Meteor 引入了一种在包中定义命名空间范围的方法 - 问题是,需要在全局命名空间中定义变量(meteor 重新路由到它自己的 Package 对象)。

https://www.eventedmind.com/posts/meteor-linker-package-namespacing 有一个关于它的视频。

是否有某种global 关键字可用或在计划中?

【问题讨论】:

    标签: meteor typescript


    【解决方案1】:

    使用declare 关键字。这些被称为环境声明。

    declare var MyExtentention:any;
    

    【讨论】:

    • 根据我的经验,这必须放在文件的顶部。如果你把它放在另一个变量声明中,例如,在你使用全局变量的地方附近,编译器会抱怨“修饰符不能出现在这里”。
    猜你喜欢
    • 2018-07-24
    • 1970-01-01
    • 2013-08-16
    • 2012-03-13
    • 2011-03-25
    • 2021-04-23
    • 2016-02-25
    • 1970-01-01
    • 2022-01-15
    相关资源
    最近更新 更多