2016-09-23 42 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"/> 

具有修复它。

相关问题