Skip to content

把mustache模板编译成一个不依赖于mustache的js函数

goddkiller edited this page Apr 8, 2013 · 2 revisions

allone的新功能,把mustache编译成一个不依赖于mustache的js函数。编译后的大小在2k。

可以用于各种需要通过js拼字符串,但是又不能引入mustache.js的场景

例如,你有一个mustache的模板文件,test.jst (jst扩展名无其他意义,命名为.txt等均可)

<table>
    {{#items}}
    <tr>
    <td>{{.}}</td>
    </tr>
    {{/items}}
</table>

在此目录下执行

aio mustache test.jst test.js

test.js是你希望生成的js文件,此文件包含test函数。生成的js文件:

function test (v) {.....内容略}

你可以把这个js引入页面来使用,或者直接copy出来放在你的代码里。此函数不需要任何js库的支持,包括mustache,可以直接执行。

alert(test({items: ["hi", "hello"]}))

结果:

<table>
<tr>
<td>hi</td>
</tr>
<tr>
<td>hello</td>
</tr>
</table> 
Something went wrong with that request. Please try again.