错误TS2300:重复的标识符'要求'在TypeScript编译过程中

时间:2016-06-27 15:52:47

标签: angularjs typescript typescript1.8

我正在编译我的角项目中的所有TypeScript,但我得到了众所周知的错误:

error TS2300: Duplicate identifier 'require'.

但是,大多数遇到此问题的人都遇到了这个问题,因为他们有两个导致重复错误的文件。在我的情况下,这是因为' 要求'在相同的文件中使用两次。

/typings/globals/angular/index.d.ts(1707,9):

/typings/globals/angular/index.d.ts(1717,9): 

enter image description here

它是从dt源中提取的默认角度输入定义文件。

我在本地和全局都有TypeScript。我尝试删除本地副本,但错误。这是我的tsconfig.json:

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitAny": true,
    "removeComments": true,
    "preserveConstEnums": true,
    "sourceMap": true
  },
  "files": [
    "typings/index.d.ts"
  ]
}

和我的typings.json:

{
  "globalDependencies": {
    "angular": "registry:dt/angular#1.5.0+20160627014139",
    "bootstrap": "registry:dt/bootstrap#3.3.5+20160619023404",
    "jquery": "registry:dt/jquery#1.10.0+20160620094458"
  }
}

最后我的主要是index.d.ts:

/// <reference path="globals/angular/index.d.ts" />
/// <reference path="globals/bootstrap/index.d.ts" />
/// <reference path="globals/jquery/index.d.ts" />

1 个答案:

答案 0 :(得分:1)

您不应在d.ts文件的files部分列出tsconfig.json个文件。这是您列出您需要转换为javascript的文件的地方。您看到的问题是由转换程序尝试将您的typings/index.d.ts文件转换为javascript引起的,这是不应该做的。打字定义实际上只是存在,以便您的代码编辑器可以提供类型提示,警告您错误,并完成代码。

看看this overview of the tsconfig.json file