2017-07-08 4 views
6

私は角型CLIを使用してモジュールを作成しましたが、作成中にルーティングを追加するのを忘れてしまいました。今はルーティングモジュールを追加したいと思います。角度CLIバージョン1.1.1の既存モジュールにルーティングモジュールを追加する方法はありますか。

ng init --routingは全く問題ではない角度CLIバージョン1.1.1

+1

さて、あなた自身でコードを追加してください。または、ルーティングで別のモジュールを生成し、生成されたコードをコピーして貼り付けます。 –

+0

新しいバージョンのangi cliはng initをサポートしていません – NuttLoose

答えて

7

に役立つことはありません。

ルーティングを手動で追加するだけです。

すべて--routingフラグがないこと、app.component.html<router-outlet></router-outlet>を加えることに加えて、AppRoutingModuleと呼ばれる別のモジュールにおいて、Q RouterModule.forRoot()呼び出しを追加し、そしてAppModuleimportsにそのモジュールを含んでなります。

したがって、app.module.tsには、AppModuleimportsAppRoutingModuleが追加されます。

AppRoutingModuleapp-routing.module.tsと定義され、from this templateとなります。

それは私がそれをここにコピーするだろうと非常に小さいです:

import { NgModule } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router'; 

const routes: Routes = [ 
    { 
    path: '', 
    children: [] 
    } 
]; 

@NgModule({ 
    imports: [RouterModule.forRoot(routes)], 
    exports: [RouterModule] 
}) 
export class AppRoutingModule { } 

{path: '', children:[]}は、あなたが(私はソースコードにこれを追加しましたので、私は知っている)を交換することが期待されるだけのプレースホルダです。あなたがルートを持っていないときに、ルータが<router-outlet>について文句を言うことはありません。

質問に戻るどうすればよいですか?はちょうど元CLIのように見えるように、あなたのプロジェクトにファイルをコピーし、あなたのAppModuleimports ...あなたのAppModule

それとも追加RouterModule.forRoot([/* routes here */])imports代わりにAppRoutingModuleを追加してください。これはまだ動作しますが、遅延ロードのための組み込みサポートと他のすべてがうまく動作します。

P.S.

--routingフラグをng newで使用したかどうかに関係なく、子ルートを追加するには、いつでもルーティングng generate module Foo --routingでさらにモジュールを生成できます。心配する設定や魔法はありません。

+0

子ルートを生成する特定のフラグはありますか?新しいモジュールの作成中に '--routing'フラグを使うと自動的に子ルートを作成しますか? –

関連する問題