首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Cold聚变中运行CFGroovy时添加纯javascript编译器插件服务器端?

如何在Cold聚变中运行CFGroovy时添加纯javascript编译器插件服务器端?
EN

Stack Overflow用户
提问于 2012-10-05 22:04:15
回答 1查看 562关注 0票数 4

我试图尝试在服务器上构建增强的Jquery标记(运行Coldfusion8),然后尝试使用DustJS (Javascript模板引擎)将标记预编编译成js字符串,我希望将其作为静态文件服务器。

我想我可以把它归结为尝试在Cold聚变中添加插件。以下是我想做的事:

从Cold聚变中这样的模板开始:

代码语言:javascript
复制
<cfsavecontent variable="renderedResults">
    <cfoutput>
        {##person}{root}: {name}, {age}{/person}
    </cfoutput> 
</cfsavecontent>

通过DustJS编译器在NodeJS上运行此操作将返回如下内容:

代码语言:javascript
复制
 (function() {
      dust.register("demo", body_0);

 function body_0(chk, ctx) {
     return chk.section(ctx.get("person"), ctx, {
       "block": body_1
      }, null);
   }
   function body_1(chk, ctx) {
     return chk.reference(ctx.get("root"), ctx, "h").write(": ").reference(ctx.get("name"), ctx, "h").write(", ").reference(ctx.get("age"), ctx, "h");
   }
   return body_0;
 })();

然后我将其保存为someStaticTemplate.js。这个文件是在客户端上拉进来的,里面充满了动态数据。

我的问题是在Cold聚变中编译这个。

我使用Cfgroovy在服务器上运行Javascript:

代码语言:javascript
复制
 <cfimport prefix="g" taglib="../../tags/cfgroovy/" />
     35k zipped plugin here
     <!--- COMPILE  --->
     var dustedTemplate = dust.compile( variables.tempLateToCompile, variables.templateName);
     <!--- OUT --->
     variables.put("renderedResult", dustedTemplate);
 </g:script>

但是,这样做会返回以下错误:

代码语言:javascript
复制
type: sun.org.mozilla.javascript.internal.JavaScriptException 
message: [object Error] (<Unknown Source>#1)

所以我肯定做错什么了..。

问题:

有可能将这个服务器端编译成JS吗?如果是这样的话,是否知道如何包括插件。我也看过的帖子,但是我已经在做我能做的事情了,所以我希望这能在我上面的尝试中得到解决。

谢谢你的投入!

有界

好吧,我放弃了自己的尝试。赏金时间..。我在找一个冷融合代码片段,可以让我

( a)将DustJS插件加载到CFGrooy标记或替代的javascript启用设置中

( b)让我们运行DustJS Javascript编译函数来从

代码语言:javascript
复制
  {##person}{root}: {name}, {age}{/person}

这方面:

代码语言:javascript
复制
  (function() {
      dust.register("demo", body_0);

 function body_0(chk, ctx) {
     return chk.section(ctx.get("person"), ctx, {
       "block": body_1
      }, null);
   }
   function body_1(chk, ctx) {
     return chk.reference(ctx.get("root"), ctx, "h").write(": ").reference(ctx.get("name"), ctx, "h").write(", ").reference(ctx.get("age"), ctx, "h");
   }
   return body_0;
 })();

如果这在技术上是不可能的,我可以采用其他方法,允许我在服务器上创建一个基于HTML的模板,并包含占位符,这样我就可以在客户机上添加动态数据。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-10-09 12:26:03

你应该看看http://www.bennadel.com/blog/1766-Running-Javascript-In-ColdFusion-With-CFGroovy-And-Rhino.htm

是否有可能将HTML标记编译成Cold聚变服务器端的可模板javascript?

编码愉快!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12754644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档