在Alfresco共享中,搜索页面是用Aikau实现的。我感兴趣的是一个更普遍的问题,是否有可能调试Aikau部件?
我已经建立了一些关于这个问题的链接,但是他们谈论的更多的是日志,而不是实际的javascript调试:
假设我有以下Aikau小部件alfresco/search/AlfSearchResult及其内部的以下方法:
/**
* This function is called to create a
* [SearchResultPropertyLink]{@link module:alfresco/renderers/SearchResultPropertyLink} widget
* to render the displayName of the result. It can be overridden to replace the default widget
* with a reconfigured version.
*
* @instance
*/
createDisplayNameRenderer: function alfresco_search_AlfSearchResult__createDisplayNameRenderer() {
// jshint nonew:false
var config = {
id: this.id + "_DISPLAY_NAME",
currentItem: this.currentItem,
pubSubScope: this.pubSubScope,
propertyToRender: "displayName",
renderSize: "large",
newTabOnMiddleOrCtrlClick: this.newTabOnMiddleOrCtrlClick,
defaultNavigationTarget: this.navigationTarget
};
if (this.navigationTarget)
{
config.navigationTarget = this.navigationTarget;
}
new SearchResultPropertyLink(config, this.nameNode);
}
我是否可以在使用this.currentItem的行插入断点并停止执行,以便评估它的属性?
发布于 2016-09-08 10:06:18
是的,有几种方法可以调试Aikau.首先要做的是确保在启用了“客户端调试”模式的情况下运行(无论是在共享模式中还是在自定义的Aikau客户端中)。
例如,在共享中,您可能希望更新/WEB-INF/classes/alfresco/share-config.xml文件以更改:
<config>
<flags>
<client-debug>false</client-debug>...to是..。
<config>
<flags>
<client-debug>true</client-debug>您需要重新启动共享以使更改生效。然后,您将看到主标题菜单栏中有一个“调试菜单”项。如果您打开它,您可以通过切换“调试日志”和“显示所有日志”来启用日志记录。
这将导致日志输出出现在浏览器开发工具控制台中。您还可以微调日志输出,使其只显示错误或警告,并提供一个RegEx表达式来匹配某些日志输出。
启用客户端调试后,浏览器加载的JavaScript源将被解压缩。这将使您更容易添加断点。
因为Surf将所有所需的模块源代码聚合到一个单独的资源中(出于性能和缓存的原因),您将希望找到Aikau源文件--最简单的方法是使用“CTRL”(在Chrome中)打开一个资源,并在出现的框中键入“冲浪”--这将始终首先找到Aikau源代码。
Firefox的Firebug更好地处理跨资源的查找,因此您可以只使用“CTRL”,然后粘贴到您想要打开的行中。
您可以像往常一样在此资源中添加断点,浏览器将在其上中断。
除了设置断点之外,还可以使用DebugLog小部件。这可以从“调试菜单”中切换,并显示正在进行的所有发布和订阅。
在开发过程中,还可以直接在页面中包含和配置alfresco/services/LoggingService和alfresco/logging/DebugLog小部件。对于我们所有的单元测试页面,我们都采用这种方法。在开发过程中,这可能是一种方便的方法,并且在开发完成后可以删除它们。
这个介绍性虽然很旧,但也包含一些有用的调试技巧(参见幻灯片56 )。
https://stackoverflow.com/questions/39386412
复制相似问题