找不到Angular 2路由资源

时间:2015-07-14 07:32:22

标签: c# typescript visual-studio-2015 angular

我正在使用VS 2015 RC,正在开发一个WebAPI项目,当我尝试在Angular 2中使用路由时,我收到以下错误:

  

无法加载资源:服务器响应状态为404(未找到)localhost:14580 / angular2 / router

     

潜在的未处理拒绝[3]在localhost加载“angular2 / router”时出错:14580 / angular2 / router   从localhost上的“Components / main / main”加载“angular2 / router”时出错:14580 / Components / main / main.js   找不到:localhost:14580 / angular2 / router(警告:使用非错误)

视图是main.ts组件的基本导入。组件代码如下:

/// <reference path="../../Scripts/typings/angular2/angular2.d.ts" />
/// <reference path="../../Scripts/typings/_custom/ng2.d.ts" />

import {Router, RouteConfig, RouterLink, RouterOutlet} from 'angular2/router';
import {Component, View, bootstrap} from 'angular2/angular2';
import {Login} from '../login/login';
import {status, json} from 'Scripts/utils/fetch'


// Annotation section
@Component({
    selector: 'my-app'
})
@View({
        templateUrl: 'Views/main/main.html',
        directives: [RouterLink, RouterOutlet]
})
@RouteConfig([
{ path: '/login', as: 'login', component: Login }
])
// Component controller
export class Main {
    //router: Router;
    name: string;
constructor(router: Router) {
    //this.router = router;
    this.name = 'Routing';

   router.config([{ path: '/login', as: 'login', component: Login }]);
}

login(event, email, password) {
    event.preventDefault();

    window.fetch('/api/Account/Login', {
        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            email, password
        })
    })
        .then(status)
        .then(json)
        .then((response) => {
    alert(response);
        //    this.router.parent.navigate('/home');
    })
        .catch((error) => {
        alert(error.message);
        console.log(error.message);
    });
}

}
bootstrap(
    Main
);

1 个答案:

答案 0 :(得分:17)

您需要在html中加入router.dev.js,方法与angular2.dev.js相同。只需将此行添加到index.html的头部:

<script src="../node_modules/angular2/bundles/router.dev.js"></script>

PS。我知道你已经解决了这个问题,但答案并不清楚,我花了一些时间才意识到我的应用程序出了什么问题。