先学习一个命令 ng g m core
上面这个命令就是要自动生成模块 在 app 目录下面自动生成一个文件夹。
一.
假如有一个核心模块,在系统中只想加载一次,这里需要我们进行特殊的设置:
代码如下:
//作用是在系统中只加载一次
export class CoreModule {
constructor(@Optional()@SkipSelf()parent:CoreModule
, ir:MdIconRegistry,ds:DomSanitizer ){
if(parent){
throw new Error('模块已经存在,不能重复加载');
}
loadSvgResources(ir,ds);
}
}
上面涉及到陌生的注解
第一个@Optional() 的意思就是配置可选项 如果已经存在 抛出异常 不存在的话 可选项会设置。
第二个@SkipSelf()的意思就是 跳过此模块 向父级查找此模块
二.
接下来我们设置共享的Module
共享的module 负责 导入和倒出共享的模块。