我正在编译我的角项目中的所有TypeScript,但我得到了众所周知的错误:
error TS2300: Duplicate identifier 'require'.
但是,大多数遇到此问题的人都遇到了这个问题,因为他们有两个导致重复错误的文件。在我的情况下,这是因为' 要求'在相同的文件中使用两次。
/typings/globals/angular/index.d.ts(1707,9):
和
/typings/globals/angular/index.d.ts(1717,9):
它是从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" />
答案 0 :(得分:1)
您不应在d.ts
文件的files
部分列出tsconfig.json
个文件。这是您列出您需要转换为javascript的文件的地方。您看到的问题是由转换程序尝试将您的typings/index.d.ts
文件转换为javascript引起的,这是不应该做的。打字定义实际上只是存在,以便您的代码编辑器可以提供类型提示,警告您错误,并完成代码。