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

时间:2012-10-05 08:51:04

标签: javascript templates coldfusion compilation server-side

我一直在寻找Javascript模板引擎,试图找到一种在/离线上提供标准模板的方法。

目前我有点卡在dustjs/linkedIn,这需要服务器端将模板预编译到js文件中 - 这很困难,因为我使用{{1 }}

在Coldfusion中运行Javascript时可以使用稀疏链接(example)。所以:

问题:
Coldfusion中有一个易于使用的Javascript吗?我不是在谈论Coldfusion8我们的toScript,我想在cfscheduled任务中运行像服务器上的dustjs编译器这样的javascript函数来获取HTML模板并从中编译它们:

<cfoutput><script>alert("hello")></cfoutput>

到此:

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

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

感谢您的一些努力!

1 个答案:

答案 0 :(得分:3)

看看CFGroovy。虽然目标是groovy,但它确实是CF使用Java的通用脚本功能(JSR-223)的一种方式。你应该能够通过它启动Rhino并运行你的代码。事实上,Ben Nadel有article on doing this

另外,您可以将节点放在服务器上并使用cfexecute运行节点来编译模板。

如果你使它工作,我会考虑不按时间表编制。或许尝试以下内容:

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

我最喜欢第三个选项,因为它只会在变化时编译,这可能就是你想要的。