4

我有兴趣使用 Jade 创建动态生成数据的静态 HTML 文件。我已经有一组 JS 脚本在 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}

我假设这是其中一种情况,很明显我在文档中遗漏了它,但我没有看到它,而且我看到的最接近的答案似乎涉及 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 回答