回答

3

您可以使用shared Module负责共享common components, pipes and directives
请注意它只是一个使用sharedModule or coreModule的命名约定,但您可以使用任何其他模块名称eg xyzModule。导入的事情是,确保共同的东西都内export array

import { NgModule }   from '@angular/core'; 
import { CommonModule }  from '@angular/common'; 

import { CustomComponent} from 'path'; 
import { CustomPipe}  from 'path'; 
import { CustomDirective} from 'path'; 

@NgModule({ 
    imports:  [ CommonModule ], 
    declarations: [ CustomComponent, CustomPipe, CustomDirective], 
    exports:  [ CustomComponent, CustomPipe, CustomDirective] 
}) 
export class SharedModule { } 

宣布使用它在应用程序/根模块或任何其他一个或多个这样的懒加载功能模块,

的AppModule还是让我们说ClientModule

import {SharedModule } from 'path' 

@NgModule({ 

    imports: [..., sharedModule] 

}) 
+0

你能不能也请提的是,相关项目应该被添加到出口阵列的任何其他模块?另外,它不一定必须是共享模块,我相信它可以来自任何模块的exports数组。请在答案中添加这些信息,以便我可以将其标记为答案。 –

+0

从逻辑上说,你可以从任何模块(例如, xyzModule'。但是它的命名约定是由AngularTeam提供的,所以我建议你使用sharedModule,而不是那么混乱。 – micronyks

+0

虽然...已更新的答案... – micronyks

0

只需要确保相关项目都在你的模块出口线

exports:  [ CustomComponent, CustomPipe, CustomDirective] 

然后实现该模块将有机会获得这些东西