Dojo require/define - 如何知道哪个函数和 属性 属于哪个模块?
Dojo require/define - How to know which function and property belongs to which module?
我一直在努力理解别人的代码,但我遇到了困难。主要原因之一是我一直看到函数和属性似乎是已加载模块的一部分,但它们似乎没有任何标识符。其中之一是 postCreate 函数,它似乎加载了 dijit/_WidgetBase。在此特定代码中,它用作
postCreate: function () {
// Some code
}
对我来说,使用 as:
会更有意义
_WidgetBase.postCreate: function () {
// Some code
}
现在我怎么知道 postCreate() 属于 dijit/_WidgetBase 而不是谷歌搜索代码中的所有函数?
谢谢
如果你们在开发过程中创建了适当的文档,您就不必问这些问题了;)
我不认为你试图实现的是可能的,唯一可行的选择是按照@tik27 的建议遍历和解构代码。
推荐阅读:https://dojotoolkit.org/reference-guide/1.10/dojo/_base/declare.html
这是您需要掌握的基本道场知识。一段时间后,您将习惯可用的混合宏及其包含的方法。
基本上,原理总是一样的:
- 看看declare()中有哪些模块
- 打开与每个声明的模块对应的每个文件
- 在里面搜索方法
- 您在其中任何一个中都找不到它:对您刚刚打开的所有模块的声明列表重复相同的过程...等等...
我通常会在我的 mixin 和 classes 的每个方法之上添加一个 console.log
。日志包含 class 路径和方法名称,因此在调试代码时,我可以看到 "path" 及其来源...(例如:console.log('my/new/component/Class::postCreate')
)。
但这不会帮助您使用内部 Dojo 方法。你必须了解他们。
我一直在努力理解别人的代码,但我遇到了困难。主要原因之一是我一直看到函数和属性似乎是已加载模块的一部分,但它们似乎没有任何标识符。其中之一是 postCreate 函数,它似乎加载了 dijit/_WidgetBase。在此特定代码中,它用作
postCreate: function () {
// Some code
}
对我来说,使用 as:
会更有意义_WidgetBase.postCreate: function () {
// Some code
}
现在我怎么知道 postCreate() 属于 dijit/_WidgetBase 而不是谷歌搜索代码中的所有函数?
谢谢
如果你们在开发过程中创建了适当的文档,您就不必问这些问题了;)
我不认为你试图实现的是可能的,唯一可行的选择是按照@tik27 的建议遍历和解构代码。
推荐阅读:https://dojotoolkit.org/reference-guide/1.10/dojo/_base/declare.html
这是您需要掌握的基本道场知识。一段时间后,您将习惯可用的混合宏及其包含的方法。
基本上,原理总是一样的:
- 看看declare()中有哪些模块
- 打开与每个声明的模块对应的每个文件
- 在里面搜索方法
- 您在其中任何一个中都找不到它:对您刚刚打开的所有模块的声明列表重复相同的过程...等等...
我通常会在我的 mixin 和 classes 的每个方法之上添加一个 console.log
。日志包含 class 路径和方法名称,因此在调试代码时,我可以看到 "path" 及其来源...(例如:console.log('my/new/component/Class::postCreate')
)。
但这不会帮助您使用内部 Dojo 方法。你必须了解他们。