【发布时间】:2016-03-15 21:34:15
【问题描述】:
操作系统:Windows Pro 10
Webstorm:ver 11.0.1
AngularJS:ver 2.0.0-alpha.46
WebStorm 设置
工具 - 文件观察器:Babal
语言和框架 – JavaScript:
JavaScript 语言版本:ECMAScript 6-
语言和框架 – TypeScript:
启用 TypeScript 编译器(选中):
使用 tsconfig.json(选中)
项目结构:
- bin
- node_modules/angular2
- src/tsconfig.json
- package.json
Package.json
{
"name": "TypeScriptHTMLApp2",
"version": "1.0.0",
"dependencies": {
"angular2": "2.0.0-alpha.46",
"es6-shim": "^0.33.13",
"systemjs": "0.19.6"
},
"devDependencies": {
"babel-preset-es2015": "^6.3.13"
}
}
tsconfig.json
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules"
]
}
注意:webstorm 项目窗口中的 node_modules 文件夹,也已设置为“排除”。
所以 webstorm 抛出以下重复标识符错误消息:
C:\Program Files (x86)\JetBrains\WebStorm 11.0.1\plugins\JavaScriptLanguage\typescriptCompiler\external\lib.es6.d.ts
Error:(3841, 14) TS2300: Duplicate identifier 'PropertyKey'.
Error:(4034, 5) TS2300: Duplicate identifier 'EPSILON'.
Error:(4069, 5) TS2300: Duplicate identifier 'MAX_SAFE_INTEGER'.
Error:(4076, 5) TS2300: Duplicate identifier 'MIN_SAFE_INTEGER'.
Error:(4362, 5) TS2300: Duplicate identifier 'done'.
Error:(4363, 5) TS2300: Duplicate identifier 'value'.
Error:(4592, 5) TS2300: Duplicate identifier 'flags'.
Error:(4620, 5) TS2300: Duplicate identifier 'size'.
Error:(4630, 5) TS2300: Duplicate identifier 'prototype'.
Error:(4647, 5) TS2300: Duplicate identifier 'prototype'.
Error:(4659, 5) TS2300: Duplicate identifier 'size'.
Error:(4669, 5) TS2300: Duplicate identifier 'prototype'.
Error:(4685, 5) TS2300: Duplicate identifier 'prototype'.
Error:(5072, 5) TS2300: Duplicate identifier 'prototype'.
C:\Users\Theo\Documents\WebStorm\Projects\TypeScriptHTMLApp2\TypeScriptHTMLApp2\node_modules\angular2\typings\es6-shim\es6-shim.d.ts
Error:(6, 14) TS2300: Duplicate identifier 'PropertyKey'.
Error:(9, 5) TS2300: Duplicate identifier 'done'.
Error:(10, 5) TS2300: Duplicate identifier 'value'.
Error:(248, 5) TS2300: Duplicate identifier 'EPSILON'.
Error:(283, 5) TS2300: Duplicate identifier 'MAX_SAFE_INTEGER'.
Error:(290, 5) TS2300: Duplicate identifier 'MIN_SAFE_INTEGER'.
Error:(346, 5) TS2300: Duplicate identifier 'flags'.
Error:(498, 5) TS2300: Duplicate identifier 'prototype'.
Error:(561, 5) TS2300: Duplicate identifier 'size'.
Error:(570, 5) TS2300: Duplicate identifier 'prototype'.
Error:(581, 5) TS2300: Duplicate identifier 'size'.
Error:(590, 5) TS2300: Duplicate identifier 'prototype'.
Error:(605, 5) TS2300: Duplicate identifier 'prototype'.
Error:(619, 5) TS2300: Duplicate identifier 'prototype'.
我该如何解决这个问题?
在此先感谢
【问题讨论】:
-
stackoverflow.com/questions/31322525/… ...这只是猜测可能是什么问题。
-
你是否同时使用 Babel 和 Typescript?大概就是这个错误吧!您不需要 Babel,只需在 tsconfig 中将“ES5”设置为目标
-
@Hitmands 自从我升级到 webstorm 11.0.2 后,这个问题已经得到解决。最初我也有同样的想法,但这是一种合法的做法。这样做,我的项目从最初的 .ts 文件生成 .js、.js.map、compiled.js 和compiled.js.map 文件。有关使用 typescript 和 babel 编译器的信息,请参阅以下文章:[link]dev.ivogabe.com/combine-typescript-with-babel 这是我用来使用 babel 设置 webstorm 的初始文档:[link]blog.jetbrains.com/webstorm/2015/05/…
-
嘿@TheoG,我真的更喜欢将IDE用作管理项目(编码,ecc ...)的平台,但是,对于构建过程,我使用webpack,gulp和这些工具,因为我需要即使在部署阶段也能执行构建:)
标签: typescript duplicates ecmascript-6 webstorm angular