我有一个 angular2 CLI 项目。
两天前,因为我的 Webstorm IDE 抱怨 new Promise 和 string[].map 无法解析,我强行安装es6-promise
在node_modules/@types
文件夹内,使用:
npm install @types/es6-promise --save
您可以在此处找到相关问题:TypeScript 抱怨 array.map is not present on array of type string[]
Webstorm IDE 终于按预期工作了,没有红色下划线的文件,但是今天当我在浏览器中重新加载应用程序时,我得到了这 6 个错误:
我会说消息错误非常简单。文件夹中文件中新安装的类型与表单(typescript 编译器的主模块)发生冲突,Angular2 CLI 创建并默认使用该表单。index.d.ts
@types
node_module/typescript
本质上:像:“ declare class Promise<T> etc..
”里面@types/es6-promise/index.d.ts
的声明与typescript/lib/lib.es2015.promise.d.ts
.
Ouestion: 如何解决这个问题?消除这种冲突需要什么代码?
截至目前(2016 年 10 月 2 日)——如果你ng init
在 Webstorm IDE 中使用新的——你不能拥有let myPromise = new Promise()
或任何其他es6 operators
的——没有文件被标记为错误。如果你自己在@types 中安装东西 - 你会得到这个重复的标识符错误..
在这里不要自以为是,但我很确定不仅是我 - 刚刚创建了一个新的 ng2CLI 项目。无法解决这个问题。任何人都可以确认这正在发生在他们身上吗?我花了半天时间试图解决这个废话。非常感谢您对此事的任何想法:)谢谢。