2016-09-01 35 views
8

をルーティングにURLを除外する -角度2は、私は以下のように角度使用してルーティングを実装している

export const routes: RouterConfig = [ 
    { path: '', component: HomeComponent }, 
    { path: '**', component: SearchComponent } 
]; 

は、私が検索するすべてのデフォルトのURLと一致する必要があります。角度アプリケーションにはjs、cssファイルのようないくつかの静的リソースがあります。私の問題は、すべての静的リソースが現在コンポーネントを検索することです。これらの静的リソースをルーティングから除外できる方法はありますか?

+0

解決方法これが解決されましたか? – Gerardlamo

+0

@Gerardlamo、私はこれのための解決策を見つけることができませんでした。しかし、後の角度には機能 "Routing Guard"が登場しました。私は、これを処理するために警備員を使うことができると思います。詳細については、https://angular.io/docs/ts/latest/guide/router.html#!#guards – saurabh

+0

を参照してください。解決方法を見つけましたか? –

答えて

1

このようなものを試してみてください。他のすべてのモジュールを一番上にインポートする必要があることに注意してください。app.module.tsファイルにルートを設定していると仮定しています。

Angular1.xスタイルhttp://url/#/ルーティングスタイルを使用しています。これは、展開時にブラウザではるかに安定することがわかっているためです。

デプロイメントディレクトリのルートにスタティックアセットディレクトリを作成し、静的ファイルをそこに保存することをお勧めします。このようなもの:

/static/ 
     /css/ 
     /js/ 
     /images/ 

import all modules... 
import { RouterModule, Routes, PreloadAllModules } from '@angular/router'; 

const routes: Routes = [ 
    { path: '', 
    component: HomeComponent, 
    pathMatch: 'full' 
    }, 
    { path: '**', 
    component: SearchComponent 
    } 
]; 

@NgModule({ 
    declarations: [ 
    HomeComponent, 
    SearchComponent 
    ], 
    imports: [ 
    BrowserModule, 
    RouterModule.forRoot(routes, 
    { 
     useHash: true, 
     preloadingStrategy: PreloadAllModules 
    }), 
    ], 
    bootstrap: [AppComponent] 
}) 

export class AppModule {} 
関連する問題