2015-07-14 4 views
2

Я использую VS 2015 RC, работая над проектом WebAPI и когда я пытаюсь использовать маршрутизацию в угловых 2 я получаю следующие ошибки:Угловая ресурс 2 маршрутизации не найден

Не удалось загрузить ресурса: сервер ответил со статусом 404 (не найдены) локального хоста: 14580/angular2/маршрутизатор

Потенциально необработанное отторжение [3] Ошибка при загрузке "angular2/маршрутизатор" на локальном хосте: 14580/angular2/маршрутизатор ошибки при загрузке «angular2/маршрутизатора «от« Компоненты/главная/главная »на localhost: 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 
); 
+2

Необходимо настроить веб-сервер так, чтобы 'angular2/router' указывал на файл js – basarat

+0

Я не думаю, что это проблема, потому что веб-сервер обнаруживает, что« угловое2/угловое2 »и« угловое2/роутер »находится в тот же файл, что и модуль –

ответ

1

Если вы приносите в последнем definitelyTyped типизации для угловых 2 может быть легче получить работу. Вот рабочий пример:

http://www.syntaxsuccess.com/viewarticle/routing-in-angular-2.0

+0

Спасибо. Проблема не включала router.dev.js из углового2. После этого мне пришлось отключить MapRouter из IIS, поэтому я решил отказаться от Angular 2 определенно. –

+0

Ссылка мертва – Jens

17

Вам нужно включить router.dev.js на ваш HTML таким же образом Вы включили angular2.dev.js. Так просто добавьте эту строку в голове ваши index.html «ы:

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

PS. Я знаю, что вы уже решили это, но ответ был не ясен, и я понял, что случилось с моим приложением.

+0

Спасибо. Вы спасли меня :) –

Смежные вопросы