我正在研究一种在使用 Sling 的 CQ5 中为视图引擎使用 Mustache 模板的方法。如果有人已经有过这方面的经验,我正在寻找一些建议。
我需要使用可以在需要时在前端和后端之间共享的模板格式。所以小胡子是理想的,但是,其他选项可能适用,例如车把。
我找到了一个我正在研究的“sling-scripting-mustache”的 git repo,但它缺少任何类型的文档。尽管如此,我还是会尝试一下。
将不胜感激任何想法和指导:)
我正在研究一种在使用 Sling 的 CQ5 中为视图引擎使用 Mustache 模板的方法。如果有人已经有过这方面的经验,我正在寻找一些建议。
我需要使用可以在需要时在前端和后端之间共享的模板格式。所以小胡子是理想的,但是,其他选项可能适用,例如车把。
我找到了一个我正在研究的“sling-scripting-mustache”的 git repo,但它缺少任何类型的文档。尽管如此,我还是会尝试一下。
将不胜感激任何想法和指导:)
Handlebars 自 5.6 以来一直在 CQ 中:
handlebars javascript 库最初是在 5.6.0 中添加到 CQ 中的,用于其他目的。把手的 java 版本包含在 AEM 6.0 和 5.6.1 的功能包中,其中包含社交组件框架 (SCF) ( source )
您可以编写 Mustache 模板并使用 Handlebars 渲染它们:
Mustache 模板与 Handlebars 兼容,因此您可以使用 Mustache 模板,将其导入 Handlebars,然后开始利用 Handlebars 的额外功能(来源)
这里有更多信息。
存储库中的代码 ( https://github.com/lykorian/sling-scripting-mustache ) 构建了一个 OSGI 包,其中包含嵌入在其元数据中的脚本引擎信息。
根据我在 pom 文件中看到的内容,您应该安装依赖项:
mvn -Pinstall-dependencies install
然后通过在 OSGI 控制台中安装或运行 maven 来构建和安装实际的包(检查 pom 的默认值):
mvn -Plocal-author install
安装后,应该安装脚本引擎并且它应该能够识别 *. 小胡子文件。
免责声明:我没有对此进行测试,这些只是我基于代码和 pom 文件中的内容的想法。希望能帮助到你!
我的工作流程通常是用 grunt 之类的东西在语言管道之外编译把手或小胡子,然后将其作为单独的 js 文件包含在内。
现在,如果您实际上是在尝试进行服务器端模板化,那是一个不同的问题。不确定把手作为服务器端模板的效果如何,但 mustache 肯定可以。