2017-10-05 7 views
0

Razorページ付きのASP.NET MVC 5アプリを、ASP.NETコア付きの角度アプリに移行したいと考えています。まあ、私は一からそれをやっている。ルータ出口を理解する

これは、Visual、私は角度と協力し、私は新しいアプリ、Visual StudioのASP.NETコアWebアプリケーションテンプレートを使用して角度オプションを選択し、C#を使用して、ASP.NETコア2.0を作成したのは初めてですスタジオプロフェッショナル15.3.5。私はそのテンプレートhereについてのチュートリアルを発見したが、私は理解していない一つのことがある

@angular/cli: 1.4.4 
node: 6.11.3 
os: win32 x64 

ホームコンポーネントがあり--versionリターンをngの

コマンドhomeというセレクタがありますが、他のコンポーネントでは使用されておらず、レンダリングされています。私はこれを発見したapp.component.html

<div class='container-fluid'> 
    <div class='row'> 
     <div class='col-sm-3'> 
      <nav-menu></nav-menu> 
     </div> 
     <div class='col-sm-9 body-content'> 
      <router-outlet></router-outlet> 
     </div> 
    </div> 
</div> 

私は<router-outlet></router-outlet>app.component.htmlのレンダリングを担当していると思いますが、私はそれがどのように動作するかわかりません。

私はホームページ(/)にあるので、ホームコンポーネントをレンダリングしていますか?それがそうなら、もし私がホームページにいなければ、どのように働くのでしょうか? RouterModuleの値がapp-moduleファイルにありますか?あなたが言及チュートリアル

RouterModule.forRoot([ 
     { path: '', redirectTo: 'home', pathMatch: 'full' }, 
     { path: 'home', component: HomeComponent }, 
     { path: 'counter', component: CounterComponent }, 
     { path: 'fetch-data', component: FetchDataComponent }, 
     { path: '**', redirectTo: 'home' } 
    ]) 

path: '**'を見

答えて

0

は、最後のルートで**パスはワイルドカードですrouter docs

からデフォルトであるとしますredirectTo: 'home'

。要求されたURLが、コンフィギュレーションの前に定義されたルート のパスと一致しない場合、ルータは このルートを選択します。これは、 "404 - Not Found"ページを表示するか、別のルートにリダイレクトする場合に便利です。あなたは--routingオプションでng newを実行し、それはあなたがナビゲートする場合は、ルーティングビットは、無ルートとapp-routing.module.tsを生成します

このstories routingを参照してください含まれる場合

あなたが見ているということですチュートリアルでは、angularcliではありません(そう、これはないでそれを未処理の例外が作品を扱うだけの方法をルーティング)

localhost:4200/testにはlocalhost:4200になってしまいますが、あなたはあなたのコンソールにエラーが表示されます210

そして今、私はASP.NETの背景から来て、あなたがリンクしたtutorialのプロジェクトを作成しました。それは働いた、私は角膜4に移動頭痛があった。私は今何をしています。

  1. セットアップ私のAPIのために(DEV FOR)あなたのMVCアプリ
にルーティング/ APIへのプロキシをMVCアプリケーションを作成します
  • 独自のフォルダにCLIで純粋な角度アプリを作成します。

    そしてPRODの仕事をするために

  • をindex.htmlをする

    1. は、ルートにあなたのMVCアプリケーションにすべてが見つからないエラーをコードを追加します(後でこれを行うことができます)
    2. ng --prod buildでビルドすると、ファイルをMVCアプリケーションのwwwrootに出力します。
    関連する問題