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

问题描述 投票:7回答:3

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

angular module lazy-loading
3个回答
2
投票

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

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

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

希望这可以帮助。


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');
  }
}

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.