目前,我正在從angular2 beta15更新我的項目到rc4。當我編譯,我得到一個錯誤:Angular 2找不到文件名'Set'
path/node_modules/@angular/common/src/directives/ng_class.d.ts(81,35): error TS2304: Cannot find name 'Set'.
我tsconfig.json看起來如下:
{
"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"/>
和typings.json:
{
"name": "my-project",
"dependencies": {},
"globalDependencies": {
"core-js": "registry:dt/core-js#0.0.0+20160602141332",
"jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
"node": "registry:dt/node#6.0.0+20160621231320",
"moment": "registry:dt/moment#2.8.0+20160316155526",
"moment-node": "registry:dt/moment-node#2.11.1+20160329220348",
"es6-shim": "registry:dt/es6-shim#0.31.2+20160317120654"
}
}
Thi當我在tsconfig.json中將「target」:「ES5」改爲「ES6」時,錯誤消失了,但我需要使用ES5。我假設問題出現時,我不包括///<reference path="../../node_modules/angular2/typings/browser.d.ts"/>
但是,根據https://github.com/typings/typings/issues/151,我們可以使用typings/index.d.ts
來代替。
能否請您分享您的意見來解決此問題?非常感謝你提前。
非常感謝您爲您回覆蒂埃裏。我通過刪除es6-shim並離開core-js來更新typings.json。安裝類型。從index.html中刪除腳本標記es6-shim。但是,我仍然遇到同樣的錯誤。 – user3506588
不客氣!您可以嘗試使用quickstart文檔中提供的typescript編譯器配置('tsconfig.json'文件)嗎? –
您的問題是在編譯階段執行應用程序之前。所以我認爲這個問題不在'index.html'文件中... –