Visual Studio如何使用@angular路径编译angular2和typescript

时间:2016-06-14 13:03:27

标签: typescript visual-studio-2015 angular asp.net-core

使用Visual Studio 2015和asp.net核心项目和angular2(rc1)与typescript。

我遇到了Angular2的主要问题,例如@ angular / core的新路径。

问题是typescript编译器无法找到@angular指令。我无法找到解决这个问题的方法。所以问题是如何使visual studio编译器了解在何处查找角度文件。或者甚至不可能这样做?

import {ROUTER_PROVIDERS} from '@angular/router'; // this gives error
import {HTTP_PROVIDERS} from '@angular/http';

import { AppComponent } from './app.component';  // this works


bootstrap(AppComponent, [ROUTER_PROVIDERS,  HTTP_PROVIDERS]);

错误信息是: 错误TS2307构建:找不到模块'@ angular / router'。

即使出现这些编译错误,应用程序也能正常工作。因为脚本文件包含在npmcdn.com存储库中。

1 个答案:

答案 0 :(得分:1)

如果没有文件目录./等,则通过默认查看node_modules文件夹。

如果您将这些位于其他位置,则需要指向该位置。

import {ROUTER_PROVIDERS} from '../somewhere-else/@angular/router';

如果你正在尝试使用CDN(我强烈建议反对做),你仍然需要让SystemJS或Webpack了解全局放置在{{ {1}}。

一个webpack示例:

window
  

我建议您使用// webpack.config.js module.exports = { externals: { '@angular/router': 'angular.router' // This right side might be different } }; 并在npm中包含必要的文件。这样,当您执行诸如导入库的特定部分之类的操作时,它只会抓取那些特定部分。 CDN将包含整个库,并污染您的全局窗口命名空间(这只是糟糕的joo-joo)