将Meteor与TypeScript一起使用时出现未指定的错误

时间:2015-02-16 16:06:40

标签: meteor typescript nitrousio

我正在开发一个使用Meteor和TypeScript的Web应用程序。我也在使用Nitrous.io云开发环境。

我安装了TypeScript编译器并从此处添加了TypeScript库:https://github.com/meteor-typescript

我正在尝试在我的应用中使用Iron Router。

我得到的错误是:

/lib/package_defs/ironrouter.d.ts(80,56): error TS1005: ',' expected.
/lib/package_defs/ironrouter.d.ts(80,92): error TS1005: ',' expected.                                                                                                                                                                       

Error: Unspecified error  

我和其他包有同样的错误,每当'|'字符被使用。例如,ironrouter.d.ts的第80行是:

export function onBeforeAction(hookOrFunc?: string | Function, funcOrParams?: Function | any, params?: any): void;

我尝试更改所有'|' to','就像错误消息所示,但后来我收到另一条错误消息:

/lib/package_defs/ironrouter.d.ts(80,58): error TS1016: Required parameter cannot follow optional parameter.                                                                                                                                

Error: Unspecified error 

我不是专家,我是TypeScript和Meteor的新手。 可能导致此错误的原因是什么?请帮忙。

谢谢。

1 个答案:

答案 0 :(得分:0)

在TypeScript版本1.4中添加了联合类型,并在您提到的定义文件中使用:

export function onBeforeAction(hookOrFunc?: string | Function, funcOrParams?: Function | any, params?: any): void;

如果您已经安装了1.4或更高版本,请确保您的项目正在使用它(查看您的项目文件):

<TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>

如果您仍然确定使用的是1.4版,请检查您是否可以使用此代码段使用新功能:

type example = string | number;

你可以track support for TypeScript 1.4 in WebStorm here