【问题标题】:Typescript lazy load ember modules with requirejsTypescript 使用 requirejs 延迟加载 ember 模块
【发布时间】:2016-04-19 08:44:03
【问题描述】:

我们正在将大型 ember 应用拆分为逻辑块,并延迟加载少数模块以提高性能。

我们有一个 entry,它依次递归地包含所有依赖项,并在构建过程中创建一个大的 rjs 优化文件。我们希望在初始加载期间加载一些核心组件和路由,并延迟加载其他所有内容。

我们希望将 require 调用嵌套在 route 中,并使用 beforeModelHook 来加载本指南 http://toranbillups.com/blog/archive/2014/10/02/Lazy-loading-es6-modules-with-emberjs/ 中指定的依赖控制器、模板、组件

现在的问题是如果我们跳过 import 语句

import mycontroller = require("mycontroller")

并使用嵌套要求

beforeModel() {
   require(["mycontroller"])
   ...
}

typescript 在编译时未能将 mycontroller 列为依赖项。如何解决这个问题?

还有哪些其他方法可以提高性能?

【问题讨论】:

    标签: javascript ember.js typescript requirejs lazy-loading


    【解决方案1】:

    typescript 在编译时未能将 mycontroller 列为依赖项。如何解决此问题

    您需要为您的文件使用导入的类型,以便在运行时依赖于模块。这是专门为支持延迟加载场景而设计的

    文档

    这里有介绍:https://basarat.gitbooks.io/typescript/content/docs/project/external-modules.html

    【讨论】:

    • 这正是我想要的。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多