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