【问题标题】:How to pre load ember engines?如何预加载 ember 引擎?
【发布时间】:2020-06-05 15:50:23
【问题描述】:

我在我的项目中使用ember-engines,在用户登陆主机 ember 应用程序后,我希望我的其他 ember 引擎预加载(比如 10 秒后),这样当用户导航到其他选项卡时,不会有任何延迟UI .. 我不想禁用我的 ember 引擎的lazyLoading,因为这会在初始加载期间增加主机应用程序的供应商 js 和 css 的大小.. 对此的任何参考表示赞赏(我无法找到任何示例或参考这个)。

【问题讨论】:

    标签: ember.js ember-engines


    【解决方案1】:

    我们可以使用ember-engine所包含的asset-loader服务的loadBundle方法如下:

    assetLoader: service(),
    
    preloadEngine() {
      this.assetLoader.loadBundle('<name of the engine>');
    }
    

    loadBundle 方法 return a promise 并在引擎包加载成功时解析。

    【讨论】:

    • 在主机应用程序 route.js 中遵循相同的操作。获取 this.assetLoader.loadBundle 不是函数错误...在主机应用程序的 node-modules 文件夹中,有 ember-asset-loader 文件夹太..我错过了什么吗?
    • 刚刚替换了下面的语句: this.assetLoader.loadBundle(name) 用 this.get('assetLoader').loadBundle(name) 并且它起作用了......谢谢......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-12
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    相关资源
    最近更新 更多