2016-10-06 17 views
6

私はルートにモジュールをローディングしています。角度2角度ルータを備えたNPMモジュールにNgModuleをレイジーにロードする

export const HomeRoute: Route = { 
    path: '', 
    component: HomeComponent, 
    canActivate: [AuthGuard], 
    children: [ 
    {path: 'dashboard', loadChildren: 'app/+dashboard/db.module#DashboardModule'} 
    ] 
}; 

"ページ"をNPMモジュールに入れたいと思います。 loadChildren属性で使用するnode_moduleへのルートは何ですか?私はまた、

{path: 'lazy', loadChildren: 'hello-world/components#HelloWorld' } 

エクスポートクラスである私は

{path: 'lazy', loadChildren: '../node_modules/hello-world/components#HelloWorld' } 

を試してみました

-beta.16 1.0.0角度-CLIを使用しています: -

import {Component} from '@angular/core'; 

@Component({ 
    selector: 'hello-world', 
    styles: [` 
     h1 { 
      color: blue; 
     } 
    `], 
    template: `<div> 
        <h1 (click)="onClick()">{{message}}</h1> 
       </div>` 
}) 
export class HelloWorld { 

    message = "Click Me ..."; 

    onClick() { 
     this.message = "Hello World!"; 
     console.log(this.message); 

    } 
} 

がですが私は何を試してみるべきですか?

答えて

1

現在、これは不可能です - ここAngularJS CLIチームからの応答を参照してください - 。

https://github.com/angular/angular-cli/issues/2601

「これは非常に関連した質問である私たちは、それをサポートしていないと思います CLI atm。 " (現在のバージョンのベータ17)

Datumgeekはこちら(CLIの外)別の方法でモジュールからの遅延ロードを実装しています: - https://github.com/datumgeek/a2dyn/blob/master/README.md#development-server

それがで角度CLIで可能となれば、私は答えを更新します未来

+0

CLIなしでこれを行うことができるかどうか知っていますか?私。角度クラスからの角度ウェブパックスターターをベースにしていますか?私は '../node_modules/path_to_my_module'経由で自分のモジュールにリンクしようとしましたが、動作していないのはAOTコンパイルだけです。 –

0

HelloWorldがエクスポートされたクラスであり、デフォルトのエクスポートではないことを確認してください。それ以外の場合は動作しません。

+0

遅れのためのお詫び、私は休暇中でした。はい、HelloWorldクラスがエクスポートされました。クラスを完全に表示するために質問を編集しました。 –

+0

ここではCLIpackではなくwebpackを直接使用しなければならないことに注意してください。 ://github.com/datumgeek/a2dyn/blob/master/README.md#development-server –