从现有的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>'
那是你要的吗?