Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular CLI:多个公共块_Angular_Webpack_Angular Cli - Fatal编程技术网

Angular CLI:多个公共块

Angular CLI:多个公共块,angular,webpack,angular-cli,Angular,Webpack,Angular Cli,相关软件包:Angular 5.1.1、AngularCli 1.6.1 我有一个公共和私人方面的申请。私有端在成功身份验证后延迟加载。我有标准的核心和共享模块,大多数模块都使用这些模块。我还拥有共享功能模块,这些模块仅由延迟加载的应用程序的私有端使用 共享功能模块不可避免地进入公共块,因为它们被其他模块引用。共享模块也进入该块,因为它在任何地方都被引用。因为公共块包含共享模块,并且共享模块由公共端引用,所以它在应用程序首次加载时加载。因此,包含在公共块中的私有共享功能模块也在第一页加载时加载,

相关软件包:Angular 5.1.1、AngularCli 1.6.1

我有一个公共和私人方面的申请。私有端在成功身份验证后延迟加载。我有标准的核心和共享模块,大多数模块都使用这些模块。我还拥有共享功能模块,这些模块仅由延迟加载的应用程序的私有端使用

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

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

如果共享模块引用的是私有共享功能,Angular CLI对您没有帮助,但是您可以使用动态导入来利用这一点:

if (shouldLoadPrivateShared === true) {
  import('/path/sharedfeature').then(sharedFeature => {
    /// use shared feature here
  });
}
如果条件是多余的,为了清楚起见,顺便说一句


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

可能相关:@jornsharpe我不知道这是如何相关的。你能详细说明一下吗?@bygrace你找到解决办法了吗?