无效的重复标识符'item'

时间:2014-02-04 21:15:20

标签: typescript

使用typescript 0.9.5我遇到错误消息“TS2000:Duplicate indentifier'item'”

源代码(1行) - > test.ts:

var item;

命令行命令:

tsc.exe test.ts

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

问题是标准lib.d.ts已经包含一个名为item的全局函数(因为IE has an item在窗口对象上命名为方法):

declare function item(index: any): any;

因此,如果您想使用全局名称item编译一个班轮,则需要使用禁用自动--noLib加载的lib.d.ts选项:

tsc.exe test.ts --noLib

当然,您也可以通过不使用全局名称item来解决此问题:

  • 如果您坚持将其全局化,只需将其重命名为其他内容,但您仍可能有其他名称勾结,请参阅全局定义函数的lib.d.ts
  • 只是没有全局变量所以包装它的功能范围(将你的var item;放在IEF或模块等中。)

答案 1 :(得分:1)

原因如nemesrv所述。但是,我建议在全局范围内创建变量item,只需将文件包装在模块中

module foo{
   var item; 
   // Other code you have goes here. 
}