2016-09-23 40 views
1

我遵循Angular2快速入門指南(https://angular.io/docs/ts/latest/quickstart.html)使用Typescript和.NET Core構建Web應用程序。依賴性和分型得到解決和正確生成,但是當我嘗試建立,我得到的錯誤:Angular2 Typescript .NET Core VS2015。找不到名字'Promise','Set','Map'

TS2304體形:找不到名稱「設置」

TS2304體形:找不到名稱「無極」

TS2304建立:找不到名字'地圖'

當我讀了很多其他問題,我可以通過將Typescript編譯器定位到ES6(tsconfig.json中的「target」:「es6」)來解決,但這不是許多瀏覽器仍然不支持ES6。於是,我就加入了分型「ES6-承諾」和「ES6的集合」在我typings.json文件:

{ 
    "globalDependencies": { 
    "core-js": "registry:dt/core-js#0.0.0+20160725163759", 
    "jasmine": "registry:dt/jasmine#2.2.0+20160621224255", 
    "node": "registry:dt/node#6.0.0+20160909174046", 
    "es6-promise": "registry:dt/es6-promise", 
    "es6-collections": "registry:dt/es6-collections" 
    } 
} 

但它仍然不能編譯。我可以嘗試在ES5中編譯什麼?

回答

1

解決的辦法是添加到ES6分型的引用在我main.ts文件:

/// <reference path="../typings/globals/es6-promise/index.d.ts" /> 
/// <reference path="../typings/globals/es6-collections/index.d.ts" /> 
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 
import { AppModule } from './app.module'; 
const platform = platformBrowserDynamic(); 
platform.bootstrapModule(AppModule); 

我不知道是否有更好的解決方案,但這種方式我可以成功地建立在ES5中。

+0

在'typings'文件夾中,還應該有一個'index.d.ts'文件,該文件自動包含您已安裝的所有類型定義。所以你不需要包含單個類型定義,而只需要包含單個文件。 – poke

+0

我有同樣的問題。感謝您的解決方案... –

+0

@poke是的,有typings文件夾中的index.d.ts,所有的引用(甚至es6類型),但它不起作用,我不知道原因。 –

0

我所面臨的同樣的問題,安裝ES6-墊片

typings install dt~es6-shim --save --global 

和引用相同的

///<reference path="typings/globals/es6-shim/index.d.ts"/> 

具有修復它。

相關問題