2016-05-20 15 views
1

多くのルートを含むAngular CLIを使用してAngular2アプリを構築しました。 アプリケーションは正常に動作しています。リンクを使用して、URLを使用して、またはルーターのナビゲート機能を使用して、すべてのルートにナビゲートできます。私はいつでも任意のルート上のブラウザでページを更新できます。デプロイメントでAngular2アプリ(Angular CLIで構築)にサービスを提供

しかし、別のWebサーバー(dev/dev/nginx/apache2の本番環境ではIDEサーバー)を使用してdist/index.htmlからアプリケーションを提供しようとすると、アプリケーションのルーティング動作が異なります。

アプリケーションフローは問題ありませんが、URLを直接(任意のルートの場合)表示するか、ルートアプリケーションのページを更新するときにGET /ダッシュボードエラーが表示されます。ここでダッシュボードは私のルート名です。既存のルートページのページを更新する際に同じエラーが発生します。

私は、アプリケーションがindex.htmlから適切にブートストラップしていて、アプリケーションのどこからでもないと推測します。

私が間違っていることは助けてください。

index.htmlを

<script> 
     System.import('system-config.js').then(function() { 
      System.import('main'); 
     }).catch(console.error.bind(console)); 
     </script> 

main.ts

ストラップ(NgUnityAppComponent、[ HTTP_PROVIDERS、 ROUTER_PROVIDERS])。

NG-unity.component.tsファイル

私が間違っているのは何
import { Component } from '@angular/core'; 
    import { RouteConfig, ROUTER_DIRECTIVES } from '@angular/router-deprecated'; 
    import {APP_ROUTES} from './ng-unity.routes'; 
    import { NavbarComponent, FooterComponent, AboutUsComponent } from './shared/index'; 
    import {NavbarService} from './shared/navbar/navbar.service'; 
    @RouteConfig(APP_ROUTES) 
    @Component({ 
     moduleId: module.id, 
     selector: 'ng-unity-app', 
     templateUrl: 'ng-unity.component.html', 
     styleUrls: ['ng-unity.component.css'], 
     directives: [ROUTER_DIRECTIVES, NavbarComponent, FooterComponent], 
     providers:[NavbarService] 
    }) 
    export class NgUnityAppComponent { 

    } 

?助けてください。

+0

http://stackoverflow.com/questions/31415052/angular-2-0-router-not-working-on-reloading-the-browserこれは原因と解決方法を説明しています。 –

答えて

0

ていることを確認し、これはあなたのindex.htmlのhead要素内に配置されている:

Angular2ルーティング&ナビゲーションドキュメントの例ではなく、頭の中で次のコードを使用しています(彼らはに理由を説明しますドキュメントのライブサンプルノート):

document.write( '');

ページを更新すると、ベースhrefが現在のdocument.locationに動的に設定されます。

関連する問題