什么是注册表并在require.s.contexts._下定义?

时间:2015-10-22 12:39:52

标签: javascript requirejs

究竟是什么require.s.contexts._.definedrequire.s.contexts._.registry

是否定义了registry对象中的模块?

1 个答案:

答案 0 :(得分:1)

require.s.contexts包含有关RequireJS知道的所有上下文的私有数据。如果不使用context配置选项,则默认上下文称为_,因此require.s.contexts._包含有关默认上下文的私有数据。

上下文数据的registry字段包含一个保存模块信息暂时的地图。在请求之后,模块将位于该映射中,但只有在它被加载之后才会存在。

defined字段包含上下文中定义的所有模块的映射。您可以想象直接访问它,但没有明确的理由这样做,因为require.defined(id)会告诉您id命名的模块是否在require所属的上下文中定义。 (不同的上下文得到require的不同实例,因此require函数知道它来自哪个上下文。)