带有requirejs的Typescript延迟加载ember模块

时间:2016-04-18 11:23:38

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

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

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

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

现在问题是我们是否跳过import statement

import mycontroller = require("mycontroller")

并使用嵌套的require

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

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

实现改善绩效的其他方法有哪些?

1 个答案:

答案 0 :(得分:1)

  

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

您需要使用文件的导入类型对模块具有运行时依赖性。这是专为支持延迟加载方案而设计的

文档

此处介绍:https://basarat.gitbooks.io/typescript/content/docs/project/external-modules.html