gpt4 book ai didi

javascript - 是否可以在 Coldfusion 服务器端将 HTML 标记编译为可模板化的 javascript?

转载 作者:行者123 更新时间:2023-11-28 20:49:38 24 4
gpt4 key购买 nike

我一直在研究 Javascript 模板引擎,试图找到一种使标准模板在线/离线可用的方法。

目前我有点卡在dustjs/linkedIn这需要在服务器端将模板预编译为 js文件 - 困难,因为我正在使用 Coldfusion8 .

有一些关于在 Coldfusion 中运行 Javascript 的稀疏链接 ( example )。所以:

问题:
Coldfusion 中有易于使用的 Javascript 吗?我不是在谈论toScript我们的<cfoutput><script>alert("hello")></cfoutput> ,我想在 cfscheduled 任务中在服务器上运行一个 javascript 函数,例如 Dustjs 编译器,以获取 HTML 模板并从中编译它们:

  Hello {name}! You have {count} new messages.

对此:

(function() {
dust.register("demo", body_0);

function body_0(chk, ctx) {
return chk.write("Hello ").reference(ctx.get("name"), ctx, "h").write("! You have ").reference(ctx.get("count"), ctx, "h").write(" new messages.");
}
return body_0;
})();

这是在dustJS中完成的compiler.js文件(我认为...)。如果不可能,除了创建一个“coldfusion 编译器”将标记更改为已编译的 javascript 之外,还有什么其他选择?

感谢您的一些建议!

最佳答案

看看CFGroovy 。虽然针对的是 groovy,但它实际上是 CF 使用 Java 的通用脚本功能 (JSR-223) 的一种方式。您应该能够通过它启动 Rhino 并运行您的代码。事实上,本·纳德尔有一个 article on doing this .

或者,您可以将 Node 放在服务器上并使用 cfexecute 运行 Node 来编译模板。

如果你让它发挥作用,我会考虑不按计划进行编译。也许尝试以下方法之一:

  • 如果您有定义的构建过程,请作为构建的一部分进行编译。
  • 按需编译,因此您的脚本网址可能是 script.cfm?script=whatever.js 并具有 CF 检查日期,然后编译模板或
  • 使用 DirectoryWatcher 事件网关来监视脚本文件夹和更改时编译。

我最喜欢第三个选项,因为它只会在更改时进行编译,这可能就是您想要的。

关于javascript - 是否可以在 Coldfusion 服务器端将 HTML 标记编译为可模板化的 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12742741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com