【问题标题】:Debugging Sling/Sightly server-side JavaScript调试 Sling/Sightly 服务器端 JavaScript
【发布时间】:2015-01-13 17:11:21
【问题描述】:

我正在尝试通过 Sightly 模板语言的 JavaScript UseAPI 调试存储在 JCR 中并在 Rhino 的服务器上运行的 JavaScript。

按照sling.properties中提供的说明:

# To enable the current server side debugging in the Rhino interpreter
# set the org.apache.sling.scripting.javascript.debug property to true.
# This will open a Swing window for Rhino JavaScript debugging on the
# server platform.

当我这样做时,我可以看到 Rhino 的 Swing 窗口。但是,如果我尝试在 JavaScript 文件上设置断点,或通过添加 debugger; 行来触发调试器,调试器会中断但不会显示正确的文件。

同样,如果我从 Debug 菜单中选择“Break on function enter”,调试器将中断,但使用“Step Into/Over/Out”似乎会跳转到代码中的随机点。

这对其他人有用吗?我正在使用 org.apache.sling.scripting.javascript 的 v2.0.14,这似乎是最新的。

【问题讨论】:

  • 如何将 org.apache.sling.scripting.javascript.debug 设置为 true?是在网络控制台中吗?谢谢。
  • 您需要为您的 AEM 实例编辑 sling.properties 文件
  • 你找到调试javascript后端的解决方案了吗?
  • 很遗憾,我也与 Adob​​e 谈过几次,这似乎不是他们自己在做的事情,也不是他们计划添加支持的事情。

标签: rhino aem jcr sling sightly


【解决方案1】:

正如您在您的一个 cmets 中已经提到的那样,此功能似乎并未真正实现。

Here 在主要的 Sightly 文档中,他们列出了以下 con 用于使用 javascript Use API 而不是 Java Use API:

没有调试器(还)

【讨论】:

    【解决方案2】:

    由于 rhino 脚本最终编译为 java 类,您可以添加 java.lang.System.out.println("Resource path: " + resource.getPath()) 语句和日志值以进行调试,您应该会看到写入到 crx-quickstart/logs/stdout.log 的值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      相关资源
      最近更新 更多