不属于路由的延迟加载模块

Lazy Load Modules which are not part of routes

如何使用延迟加载加载 modules/components 那些正在另一个 component/module 中使用的?

假设有以下 3 个模块,其中 login 和 home 正在加载延迟加载。

现在,我创建了另一个模块 lib 模块,其中包含一些自定义组件,如网格、按钮等。这些组件将被家庭或其他模块的组件使用,并且永远不会直接从任何路线。

在这里,如果 lib 模块被导入到 home 和其他模块中,它会在每个块文件中被复制。

有没有什么方法可以在不重复代码的情况下延迟加载 lib 模块和路由?

我还尝试将 lib 导入应用程序模块,但它无法使用 home 模块的延迟加载并给出一个错误,如果 'grid' 是一个 Angular 组件,然后验证它是该模块的一部分。

因为这个模块不是任何路由的一部分,所以在我看来它是一种共享模块。并且您的共享模块应该在整个应用程序中只导入一次。

你应该将核心模块导入到主模块中,装饰器为@optional和@SkiptoSelf,这将确保在整个应用程序中只加载一次模块。

以下文章帮助解决了一个问题。

https://angular-2-training-book.rangle.io/handout/modules/shared-di-tree.html