Angular 延迟加载模块之间的角度共享模块-cli会创建不需要的块

Angular 延迟加载模块之间的角度共享模块-cli会创建不需要的块,angular,angular-cli,angular-cli-v7,Angular,Angular Cli,Angular Cli V7,给定2个延迟加载的模块tableau de bord和import。 这两个模块都导入了一个公共共享模块,该模块实际上在应用程序的所有模块之间共享 我的问题是,当我运行ng serve或ng build时,我应该为这两个模块设置两个块。相反,我有3个(src app modules import import module.js,src app modules tableau de bord tableau de bord module.js和default~src app modules im

给定2个延迟加载的模块tableau de bord和import。 这两个模块都导入了一个公共共享模块,该模块实际上在应用程序的所有模块之间共享

我的问题是,当我运行ng serve或ng build时,我应该为这两个模块设置两个块。相反,我有3个(src app modules import import module.jssrc app modules tableau de bord tableau de bord module.jsdefault~src app modules import module~src app modules tableau de bord tableau de bord module.js

当我第一次创建导入模块并运行ng serve时,默认的~src东西并不存在。后来,它出现了

当然,如果我删除该文件,两个模块中的一个将无法加载

这真的很烦人,因为当我加载import或tableau de bord中的一个时,该文件也会被下载,并且还会增加应用程序的最终大小

那么,为什么要创建这个文件,我可以删除它吗?如果是,如何进行

请注意,我还有其他模块也有同样的问题。该应用程序包含8个模块,但并非所有模块都会出现这种情况

编辑:结果表明,这是因为链接的两个模块正在导入同一个模块。例如,import moduletableau de bord module都在导入FontAwesomeModule(我只在这两个模块中需要它)。我已经删除了导入时导入模块,默认的~src也不见了

然后我试着把FonAwesomeModule放在共享模块中,希望它可以在我需要的模块上使用,而不需要创建另一个链接块,但是没有。每次我在两个模块中使用font awesome时都会创建块

所以问题来了。如果不创建默认的~src内容,如何在模块之间共享模块


这是正常行为吗?

是什么让你认为它是多余的块?@kuncevic.dev好吧,每个模块应该有一个块,对吗?我有一个链接两个独立模块的文件是没有意义的。共享代码怎么样?假设您有一个在应用程序中的其他模块之间共享的模块-您不希望此代码被复制,对吗?@kuncevic.dev是的,共享模块的主要目的是在所有其他模块上使用某些组件。所有模块都必须导入包含这些组件声明的共享模块。请阅读本文