如何仅在设备上预装所有离子模块?

穆罕默德·雷扎·麦格

如何在设备上使用预加载所有策略并在浏览器上使用nopreload?我们可以像这样加载所有模块:

imports: [
CommonModule,
RouterModule.forRoot(appRoutes, { preloadingStrategy: PreloadAllModules }),
...
],

这将在任何平台上预加载所有模块,但是我想在浏览器上运行时防止预加载。而且它只能预加载到设备上

切尔金纳

IonicPlatform和Angular是可能的PreloadingStrategy您需要有一个自定义的预加载策略。这是一个示例策略,可满足您的需求。

import { Injectable } from '@angular/core';
import { PreloadingStrategy, Route } from '@angular/router';
import { Observable, of } from 'rxjs';
import { Platform } from '@ionic/angular';

@Injectable({
    providedIn: 'root'
})
export class LocalOnlyPreloadingStrategy implements PreloadingStrategy {
    constructor(private platform: Platform) { }
    public preload(route: Route, fn: () => Observable<boolean>): Observable<boolean> {
        if (this.platform.is('hybrid')) {
            // Running on a device
            return fn();
        }
        // Not running on a device
        return of(false);
    }
}

您可以导入和使用PreloadAllModules代码,就像使用代码一样。

imports: [
CommonModule,
RouterModule.forRoot(appRoutes, { preloadingStrategy: LocalOnlyPreloadingStrategy }),
...
],
providers: [LocalOnlyPreloadingStrategy]

欲获得更多信息;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何导入所有子模块?

如何设置GitHub Docker CI以在所有子模块上运行

如何在带有数字按钮的设备上显示离子页脚?

递归地推送所有子模块

克隆所有子模块的git repo

仅在LG设备上使用adb方法的设备所有者问题

如何压缩所有提交而不会丢失子模块?

如何注入模块并使它可用于应用程序的所有模块和子模块(获取未知的提供程序错误)

预装所有资产

如何更新所有子模块?

如何提取所有子模块的更改

如何git标记所有子模块?

如何在GitHub上删除子模块?

如何自动将所有符号链接转换为repo中的git子模块

如何设置我的应用程序受所有Android设备支持?-离子v3

导入子模块的子模块上的ModuleNotFoundError

Div响应所有设备离子

离子弹在离子模态上的位置

如何git克隆除一个以外的所有子模块(使用--recursive)?

如何使摘要模块重新导出ESM模块的所有子模块输出?

我的Git子模块未加载所有文件

如何列出项目中定义的所有Maven配置文件,包括所有子模块?

如何在可可中下载github项目的所有子模块?

如何重新设计离子应用程序布局,使其在所有设备上看起来都不错?

循环遍历所有子模块列表时避免使用子模块

如何对 Angular 应用程序子模块的所有组件执行 ng 测试

如何指定 GitLab 的 CI 子模块设置仅在主分支上使用提交?

Git:如何获取所有未跟踪文件的列表,忽略未跟踪的子模块?

如何列出所有 Git 子模块的 URL?