0

私は、標準テンプレートをオンライン/オフラインで利用できるようにする方法を見つけようとしているJavascriptテンプレートエンジンを見てきました。

現在、私はdustjs / LinkedInで立ち往生しており、サーバー側でテンプレートをファイルにプリコンパイルする必要があります。これは、jsを使用しているため困難ですColdfusion8

ColdfusionでJavascriptを実行する際に利用できるスパースリンクがあります()。それで:

質問:
Coldfusionに使いやすいJavascriptはありますか?私はtoScript私たちについて話していません<cfoutput><script>alert("hello")></cfoutput>、私はcfscheduledタスクでサーバー上でdustjsコンパイラのようなjavascript関数を実行して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;
})();

これはdustJScompiler.jsファイルで行われます(私は思います...)。それが不可能な場合、マークアップをコンパイル済みのjavascriptに変更する「coldfusionコンパイラ」を作成する以外に、他にどのようなオプションがありますか?

いくつかの考えをありがとう!

4

1 に答える 1

3

CFGroovyを見てください。groovyをターゲットにしていますが、これはCFがJava(JSR-223)の汎用スクリプト機能を使用するための実際の方法です。これからRhinoを起動し、コードを実行できるはずです。実際、BenNadelにはこれを行うための記事があります。

または、サーバーにノードを配置し、cfexecuteを使用してノードを実行し、テンプレートをコンパイルすることもできます。

あなたがそれを機能させるなら、私はスケジュール通りにコンパイルしないことを検討したいと思います。おそらく、次のいずれかを試してください。

  • ビルドプロセスが定義されている場合は、ビルドの一部としてコンパイルします。
  • オンデマンドでコンパイルするため、スクリプトURLはscript.cfm?script = whatever.jsであり、CFチェック日付があり、テンプレートをコンパイルするか、
  • DirectoryWatcherイベントゲートウェイを使用して、スクリプトフォルダーを監視し、変更時にコンパイルします。

私は3番目のオプションが一番好きです。変更時にのみコンパイルされるので、おそらくあなたが望むものです。

于 2012-10-05T09:14:41.530 に答える