如何检查或证明angular2中的模块是否延迟加载?

时间:2017-02-25 17:34:54

标签: angular module lazy-loading

如果我可以访问angular2应用程序的代码,并且有一个假定延迟加载的模块,有没有办法,独立于检查代码,我可以测试该模块,看看它是否是懒惰的加载。如果有必要,没有其他办法,我可以在有问题的模块中添加代码进行测试,如果有可能的话。但是我会添加什么代码?

3 个答案:

答案 0 :(得分:2)

在Google Chrome浏览器中查看chrome dev工具的 网络 标签(ctrl + shift + i)。

如果您的模块没有延迟加载,当网站首次加载时,您将在网络选项卡中看到该模块的一行。

如果它被正确延迟加载,那么只有当您导航到相应的路线时,才会看到模块的行。

希望这会有所帮助。

答案 1 :(得分:1)

背景概念: 首先,有一件事需要清楚延迟加载。当您延迟加载时,它基本上会在内存(RAM)中懒惰地加载模块,而不是从网络或服务器加载。模块(js脚本)已经存在于浏览器缓存(HD)中 - 在应用程序加载期间从网络获取。因此,通过延迟加载特定模块有助于内存优化,而不是网络优化。

如何检查:只需将console.log放在模块类定义的构造函数中



import { NgModule } from '@angular/core';

import { LazyComponent } from './lazy.component';
import { LazyService } from './lazy.service';

@NgModule({
  imports: [ ],
  declarations: [ LazyComponent ],
  providers: [LazyService]
})

export class LazyModule {
  constructor() {
    console.log('Lazily Loaded : LazyModule');
  }
}




答案 2 :(得分:0)

您可以检查模块是否以惰性或非惰性方式加载。只需检查元素(在浏览器中单击鼠标右键)或Ctrl + Shift + I,转到“网络”选项卡,即可在网络调用中看到 chunk.js 文件。如果是,则以延迟方式加载您的模块。