我正在分享社区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">
我是否应该注意将此调试器与此类文件一起使用?
答案 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文件的情况下才有效。