我正在开发一个使用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的新手。 可能导致此错误的原因是什么?请帮忙。
谢谢。
答案 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;