【问题标题】:Unspecified error when using Meteor with TypeScript将 Meteor 与 TypeScript 一起使用时出现未指定的错误
【发布时间】:2015-02-16 16:06:40
【问题描述】:

我正在使用 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;

我尝试更改所有“|”到 ',' 就像错误消息所暗示的那样,但随后我收到另一条错误消息:

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

Error: Unspecified error 

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

谢谢。

【问题讨论】:

  • 尝试将您的 Typescript 版本更新到 1.4 - visualstudiogallery.msdn.microsoft.com/…
  • 我使用的是 1.4 版。无论如何,我只是注意到错误似乎是由最新的提交引起的:github.com/meteor-typescript/meteor-typescript-libs/commit/…我撤消了这些更改,现在我没有收到任何错误!
  • @Bartek 我想知道这是否是由于使用联合类型引起的,这是 1.4 中的新增内容。如果是这样,您可能希望确保您确实安装了 1.4(我个人花了一段时间才把它弄好)。无论哪种情况,请随时添加您的解决方案作为您自己问题的答案。这在 StackOverflow 上完全没问题。 :)
  • 我刚刚确定了,TypeScript的版本肯定是1.4.1.0。现在我正在尝试使用meteor.d.ts 库,但又遇到了大量错误……所以,我去了GitHub,并尝试了所有已提交的版本。只有最老的一个有效!这很奇怪。我意识到导致错误的原因应该可以工作,因为它是专门为 TypeScript 1.4 版更新的。我会继续努力解决这个问题。如果有人有任何想法,请告诉我,谢谢! :)

标签: meteor typescript nitrousio


【解决方案1】:

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

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

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

<TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>

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

type example = string | number;

你可以track support for TypeScript 1.4 in WebStorm here

【讨论】:

  • 我在本地使用 WebStorm 进行编程,我刚刚发现它还不支持 TypeScript v1.4,所以这就是它给出错误的原因。但是,我不明白为什么这很重要,因为我使用的是nitrous.io,而且我肯定在那里安装了ts 1.4.1.0,但它仍然给我错误......
  • 我不是 nitrous 专家 - 但也许您在那里使用的 IDE 也缺乏对 1.4 的支持?
猜你喜欢
  • 2021-05-19
  • 2016-08-28
  • 2020-10-26
  • 1970-01-01
  • 2016-12-06
  • 1970-01-01
  • 2012-10-08
  • 1970-01-01
相关资源
最近更新 更多