Alfresco调试器无法打开包含导入标记的js

时间:2011-11-14 16:41:54

标签: javascript share alfresco

我正在分享社区4.0.a 上实施自定义文档详情操作。 此操作使用充当HTTP POST处理程序的存储库webscript。

所以我去/alfresco/service/api/javascript/debugger启用了js调试工具。

但是当我尝试像aspects.post.json.js手动打开一个js文件时,会启动语法错误。

它以任何以:

开头的js来实现
<import resource="classpath:/alfresco/xxx/xxx.js">

我是否应该注意将此调试器与此类文件一起使用?

4 个答案:

答案 0 :(得分:2)

“导入代码”无效javascript。这就是为什么javascript语法感知编辑抱怨。正如Florian所提到的那样,它在“整体”javascript被提供给解释器(rhino)之前得到了解决。

然而,如果Alfresco用有效的javascript替换这个标签以使工具变得快乐 - 可能与require函数node.js提供的东西类似,那就太好了。

答案 1 :(得分:2)

我已经在Alfresco JIRA中打开了一个改进请求(或者说贡献),它通过在JavaScript中提供干净的导入API来解决这个问题。如果您想要使用它,可以在https://issues.alfresco.com/jira/browse/ALF-13631

中将补丁文件作为附件获取

有了这个,你的例子

<import resource="classpath:/alfresco/xxx/xxx.js">

变为

importScript("legacy", "classpath:/alfresco/xxx/xxx.js", true); //Repository tier
importScript("classpath:/alfresco/xxx/xxx.js", true); //Share tier

答案 2 :(得分:1)

我从未尝试过,但我很确定调试器无法处理语句。调试器来自Rhino javascript引擎,导入标签是Alfresco的扩展。在脚本实际在Javascript引擎中运行之前,它们已得到解决。

答案 3 :(得分:0)

如果可能,尝试将实际的javascript代码分成不同的.js文件,如下所述:Alfresco Web Scripts using Javascript – Part 1

  

构建Web脚本代码时的第一个挑战是如何   Alfresco导入其他Javascript文件。 Alfresco期待   主Web顶部的xml样式标记   脚本文件。这将打破javascript验证,自动代码   缩进和其他重要的编辑器功能。

     

这可以通过将所有Javascript代码放在单独的文件中来解决,   只在主Web脚本.js文件中保留导入声明。

当然,这只有在你完全控制webscript文件的情况下才有效。