Typescript Angular 2找不到文件名“Set”
目前,我正在将我的项目从angular2 beta15更新为rc4。当我编译时,我得到一个错误: path/node_modules/@angular/common/src/directives/ng_class.d.ts81,35:错误TS2304:找不到名称“Set” 我的tsconfig.json如下所示:Typescript Angular 2找不到文件名“Set”,typescript,angular,typescript-typings,Typescript,Angular,Typescript Typings,目前,我正在将我的项目从angular2 beta15更新为rc4。当我编译时,我得到一个错误: path/node_modules/@angular/common/src/directives/ng_class.d.ts81,35:错误TS2304:找不到名称“Set” 我的tsconfig.json如下所示: { "compilerOptions": { "target": "ES5", "module": "commonjs", "sourceMap": tru
{
"compilerOptions": {
"target": "ES5",
"module": "commonjs",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": false,
"declaration": true,
"outDir": "tmp/app"
},
"exclude": [
"node_modules",
"dist",
"tmp"
]
}
在main.ts中,我还包括:
/// <reference path="../typings/index.d.ts" />
/// <reference path="../typings/tsd.d.ts"/>
当我在tsconfig.json中将target:ES5更改为ES6时,这个错误就消失了,但我需要使用ES5。我假设当我不包括///时会出现问题,但是根据,我们可以使用typings/index.d.ts代替
你能谈谈你对解决这个问题的看法吗?事先非常感谢 我认为该套件由polyfill为ES6提供。Angular2建议为此使用core js,请参见:
我们从core js的ES2015/ES6垫片开始,该垫片使用ES2015 ES6的基本功能修补全局上下文窗口
您可以在typings.json文件中指定它,但需要使用命令typings install安装typings。我在尝试运行演示应用程序时遇到此错误。与您的经历类似,如果我在tsconfig.json中将目标更改为es6,则没有问题。运行Angular 2 Quick Start应用程序后,我开始比较tsconfig.json文件中的差异。我的tsconfig.json文件中缺少一行:
"lib": ["es2015", "dom"]
在将这一行添加到我的tsconfig.json文件后,它修复了错误。这是我在Angular Typescript配置文档中找到的关于该行的内容:
自由民主党议员
TypeScript包含一个名为lib.d.ts的特殊声明文件。这
文件包含各种常见JavaScript的环境声明
JavaScript运行时和DOM中存在的构造
基于-target,TypeScript添加了额外的环境声明
如果我们的目标是es6,就像承诺一样
由于QuickStart的目标是es5,因此我们可以覆盖
要包括的声明文件:
lib:[es2015,dom]
多亏了这一点,我们有所有的es6打字,即使是针对es5
非常感谢您的回复,蒂埃里。我已经更新了typings.json,删除了es6垫片,留下了核心js。打字机没有安装。已从index.html中删除脚本标记es6垫片。不过,我还是犯了同样的错误。不客气!能否尝试使用quickstart文档中提供的typescript编译器配置tsconfig.json文件?您的问题是在编译阶段执行应用程序之前。所以我认为问题不在index.html文件中……你能把一些东西推到你项目的一个子集上吗?例如,在github项目中,这样我就可以看一看了?谢谢简化和使用ssl需要一些时间
"lib": ["es2015", "dom"]