如何从NPM处理模块的路由

时间:2017-08-18 19:00:39

标签: javascript node.js angular angular2-routing

我有一个Angular模块,我正在从NPM模块加载。如何从中加载路线?这是我的app.module.ts文件中的一个片段:

import { HelloWorldModule } from 'hello-world-app-npm/hello-world-app.umd.js'; // The module loaded from NPM

const routes = [
{ path: 'hw', loadChildren: () => HelloWorldModule },
{ path: '', component: AppComponent },
]

@NgModule({
declarations: [
    AppComponent
],
imports: [
    BrowserModule,
    HelloWorldModule,
    FormsModule,
    HttpModule,
    RouterModule.forRoot(routes)
],
exports: [RouterModule],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }

以下是我如何定义我的hello world模块:

import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { HelloWorldComponent } from './hello-world.component';

export const routes = [{ path: '', component: HelloWorldComponent }]

@NgModule({
    bootstrap: [HelloWorldComponent],
    declarations: [
        HelloWorldComponent
    ],
    imports: [
        RouterModule.forChild(routes)
    ]
})
export class HelloWorldModule {
}

当我转到“/ hw”时,我在Chrome中遇到错误

  

未捕获(承诺):RangeError:超出最大调用堆栈大小

我做错了什么?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我怀疑这可能是因为两件事。

  1. HelloWorldModule不应出现在AppModule import。
  2. bootstrap: [HelloWorldComponent]HelloWorldModule内是不必要的。