Angular CLI:多个公共块

时间:2018-01-10 14:43:52

标签: angular webpack angular-cli

相关软件包:Angular 5.1.1,AngularCli 1.6.1

我有公共和私人方面的申请。成功验证后,私有端是延迟加载的。我有大多数模块都使用的标准核心和共享模块。我还有共享功能模块,只能由延迟加载的应用程序的私有端使用。

共享功能模块不可避免地进入公共块,因为它们被其他模块引用。共享模块也进入该块,因为它在任何地方都被引用。由于公共块包含共享模块,公共端引用共享模块,因此在应用程序首次加载时会加载它。因此,公共块中包含的私有共享功能模块也会在首页加载时加载,而不是在加载使用它们的私有延迟加载功能时加载。

问题

有没有办法使用Angular CLI创建多个最小的公共块?至少我想要一个公共公共块和一个私人公共块。

1 个答案:

答案 0 :(得分:0)

如果共享模块引用了私有共享功能,Angular CLI将无济于事,但是您可以使用动态导入来利用此功能:

if (shouldLoadPrivateShared === true) {
  import('/path/sharedfeature').then(sharedFeature => {
    /// use shared feature here
  });
}

if条件是多余的,顺便说一句,顺便说一句。

现在,当加载共享模块时,私有部分将不会成为块的一部分,因为它不是硬引用。