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

问题描述 投票:4回答:1

我试图推销自己试图在服务器上运行增强的Jquery Mobile标记(运行Coldfusion8),然后尝试使用DustJS(Javascript模板引擎)将标记预编译为js字符串,我想要服务器作为静态文件。

我想我已经尝试在Coldfusion中添加插件了。这是我想要做的:

在Coldfusion中使用这样的模板开始:

<cfsavecontent variable="renderedResults">
    <cfoutput>
        {##person}{root}: {name}, {age}{/person}
    </cfoutput> 
</cfsavecontent>

通过NodeJS上的DustJS编译器运行它会返回如下内容:

 (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。此文件在客户端上拉入并填充了dynmic数据。

我的问题是在Coldfusion中编译它。

我正在使用Cfgroovy在服务器上运行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>

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

type: sun.org.mozilla.javascript.internal.JavaScriptException 
message: [object Error] (<Unknown Source>#1)

所以我一定做错了......

题:

是否可以将此服务器端编译为JS?如果是这样,任何想法如何包含插件。我也看过this帖子,但我已经伸展了我能做的事情,所以我希望这可以解决,因为我正在尝试上面。

谢谢你的一些投入!

BOUNTY: 好吧,我放弃尝试自己。赏金时间......我正在寻找一个允许我的Coldfusion代码片段 a)在CFGrooy标签或其他javascript启用设置中加载DustJS插件 b)让我运行DustJS Javascript-compile函数来打开我的模板

  {##person}{root}: {name}, {age}{/person}

进入这个:

  (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的并包含占位符,因此我可以在客户端上添加动态数据。

谢谢!

javascript compilation coldfusion server-side cfimport
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.