4

Jadeを使用して、動的に生成されたデータの静的HTMLファイルを作成することに興味があります。Nodeで実行中にデータを作成するJSスクリプトのセットがすでにあります。私ができることは、データを計算してから、作成したJSオブジェクトを使用してHTMLページをコンパイルすることです。

例えば

var myArry = MyLib.calculateSomeArray();
var myObj = MyLib.createSomeObj();
jade.compile(myTemplate);

翡翠テンプレート:

each item in myArry
  li= item
each val, key in myObj
  li #{key}: #{val}

これは、ドキュメントに記載されていないことが明らかなケースの1つだと思いますが、表示されておらず、私が見た中で最も近い答えはExpressに関係しているようです。不要です。

4

1 に答える 1

6

ドキュメントを考えると、私は言うでしょう:

var jade = require('jade');

// Create the function
var fn = jade.compile(myTemplate);
var html = fn({ myArry: myArry, myObj: myObj });

テストしたばかりで、これは問題なく機能しています。

> var jade = require('jade');
undefined
> var myTemplate = "each item in myArry\n\tli= item\neach val, key in myObj\n\tli #{key}: #{val}"
undefined
> var myObj = { foo: 'bar', woo:'loo' };
undefined
> var myArry = ['moo', 'boo', 'roo'];
undefined
> var fn = jade.compile(tpl);
undefined
> fn({ myArry: myArry, myObj: myObj });
'<li>moo</li><li>boo</li><li>roo</li><li>foo: bar</li><li>woo: loo</li>'

それはあなたが望むものですか?

于 2012-05-22T18:53:20.120 に答える