我一直在尝试构建一个角度2应用程序。 我有这个基本结构。
的AppModule
我有另一个模块让我们说“SampleModule'作为我在App.module文件中加载和导入的NPM包
我现在的问题是指定应用程序路由中的一个路由指向“SampleModule”中的一个组件。让我们说' SampleComponent'。
我尝试从SampleModule中公开组件,我尝试在App路由中导入。它没有用。它说,找不到名称SampleComponent
非常感谢任何帮助。
答案 0 :(得分:0)
自' SampleModule'是一个npm包,' SampleModule'可以在node_modules文件夹(项目根路径)下找到。
首先通过向SampleModule
添加以下行来导出SampleComponet@NgModule({
declarations: [SampleComponet],
exports: [SampleComponet] <== this line
})
export class SampleModule{}
然后在App.module中,导入&#39; SampleModule&#39;
import { SampleModule } from '/path_to_node_modules/path_to_sample_module/';
@NgModule({
imports: [SampleModule],<== this line
})
export class AppModule{}
现在您可以导入&#39; SampleComponent&#39;通过以下导入语句直接进入您的App.Routing
import { SampleComponent } from '/path_to_node_modules/path_to_componet/';
{ path: 'sample', component: SampleComponent }
注意:如果SampleModule有自己的路由,则定义如下
const routes: Routes = [~routings~]
@NgModule({
imports: [RouterModule.forChild(routes)],
declarations: [SampleComponet],
exports: [SampleComponet] <== this line
})
export class SampleModule{}
然后在App路由器中使用以下代码
{
path: 'sample',
loadChildren: './path_to_node_modules/path_to_sample_module/sample.module#SampleModule'
}