在此typescript book section作者解释了延迟加载与下面的例子:延迟模块加载如何在打字稿中工作?
import foo = require('foo');
export function loadFoo() {
// This is lazy loading `foo` and using the original module *only* as a type annotation
var _foo: typeof foo = require('foo');
// Now use `_foo` as a variable instead of `foo`.
}
据笔者打字稿只加载的foo
在第一次调用类型require
,但在第二次调用时会创建一个foo
变种它会加载创建var _foo
所需的全部模块。
这是如何工作的。可有人告诉什么是引擎盖下发生的情况更详细的例子吗?