使用requirejs对延迟加载成员模块进行Typescript

Typescript lazy load ember modules with requirejs

本文关键字:Typescript 模块 成员 requirejs 延迟加载 使用      更新时间:2023-09-26

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

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

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

现在的问题是,如果我们跳过导入语句

import mycontroller = require("mycontroller")

和使用嵌套要求

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

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

提高绩效的其他方法有哪些?

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

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

文档

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