2016-12-08 145 views
1

下面是我想要做的一个简化示例:在一行上声明一个带有var的变量,然后再导出它。为什么这是无效的TypeScript?

var Game = {}; 
export Game; 

当我尝试编译它,我得到这个错误:

error TS1128: Declaration or statement expected.

我之所以需要这个是我用猫鼬,其中mongoose.model<Interface>()创建一个模型类。我想将函数添加到原型,然后将其导出。

编辑:我可以做到这一点,但它感觉尴尬。

var _Game = {}; 
export var Game = _Game; 
+0

当您尝试编译它,会发生什么? – byxor

+0

错误TS1128:预期声明或声明。 – Jamie

回答

5

当你导出已声明变量(在打字稿和ES6出口以一般),你需要使用大括号:

var Game = {}; 
export { Game }; 

Source

+0

该解决方案适用于我 – Jamie

2

只需使用

export var Game = {}; 

or

var Game = {}; 
export { Game }; 

参考:typescript doc