如何使用 Sightly 发出当前文件的服务器路径?

How to emit the server path to the current file using Sightly?

我将一些组件分解成多个较小的文件。主文件使用 data-sly-include 属性包含它们。

我想在主文件和包含文件中生成包含当前文件名的 HTML 注释,这样当我查看呈现的输出时,我可以很容易地分辨出哪个文件生成了输出。类似于:

... some HTML from the template or other components...
<!-- begin /path/to/main/file.html -->
<div>
    This is from the main file
    <!-- begin  /path/to/main/includes/first.html -->
    <p>This is fromt the first include</p>
    <!-- end /path/to/main/includes/first.html -->
    <!-- begin  /path/to/main/includes/second.html -->
    <p>This is fromt the second include</p>
    <!-- end /path/to/main/includes/second.html -->
    now we're back in the main file
<!-- end /path/to/main/file.html -->

我可以看到如何获取当前页面的路径,但那是包含我的组件的资源;我想要组成组件的文件的路径。有什么方法可以在 Sightly 中做到这一点?

sightly 脚本引擎将当前文件作为 sling 的绑定变量,因此以下应该有效-

sling.getScript().getScriptResource().getPath()

你必须把它放在一个 js 文件中,并从你所有的 sightly 脚本中调用它。