相关软件包: Angular 5.1.1、AngularCli 1.6.1
我有一个公开和私有的应用程序。身份验证成功后,私有端将延迟加载。我有标准的核心和共享模块,这是由大多数模块使用。我还共享了一些功能模块,这些模块仅供延迟加载的应用程序的私有端使用。
共享功能模块不可避免地进入公共块,因为它们被其他模块引用。共享模块也会进入该块,因为它在任何地方都会被引用。因为公共块包含共享模块,并且共享模块被公共端引用,所以它在应用程序第一次加载时加载。因此,公共块中包含的私有共享功能模块也会在第一个页面加载时加载,而不是在使用它们的私有延迟加载功能加载时加载。
问题
有没有办法用Angular CLI创建多个最小的公共块?至少我想要一个公共公共块和一个私有公共块。
发布于 2018-07-17 20:32:36
如果共享模块引用私有共享功能,Angular CLI将不会对您有所帮助,但是您可以使用动态导入来利用这一点:
if (shouldLoadPrivateShared === true) {
import('/path/sharedfeature').then(sharedFeature => {
/// use shared feature here
});
}if条件是多余的,为了清楚起见,它是BTW。
现在,当加载共享模块时,私有部分将不会是块的一部分,因为它不是硬引用的。
https://stackoverflow.com/questions/48189878
复制相似问题