从现有的JS节点上下文中编译Jade

我有兴趣使用Jade创builddynamic生成数据的静态HTML文件。 我已经有一组JS脚本在Node中运行时创build我的数据。 我想能够做的就是计算我的数据,然后使用我创build的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,这似乎应该是不必要的。

我会说,鉴于文档 :

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

刚刚testing,这工作得很好:

 > 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>' 

那是你要的吗?