我一直在研究在浏览器上使用已编译的jade模板。玉器README说:
通过使用Jade的./runtime.js,您可以在客户端使用这些预编译模板而无需Jade本身,您只需要关联的实用程序函数(在runtime.js中),然后可以使用它们jade.attrs,jade.escape等。要启用此功能,您应该将{client:true}传递给jade.compile(),告诉Jade通过jade.attrs,jade.escape等引用辅助函数。
我找不到使用runtime.js方法的示例。我已经将模板编译为单独的js文件,但我应该如何使用它们呢?我现在所拥有的是多个函数,称为匿名和玉器对象,我不知道如何使用。
答案 0 :(得分:3)
如果要在客户端使用已编译的jade模板函数,则必须在页面中包含runtime.js.
runtime.js提供了帮助函数,编译的jade模板函数用它来渲染html。它通过将变量jade
附加到窗口来实现这一点,该窗口具有模板使用的几种方法(例如,jade.escape
)。
例如:
<script src='runtime.js'> // from jade repository
<script src='template.js'> // compiled by jade cli
<script>$('body').append(anonymous({local:'value'))</script> // works!
这将成功将渲染的html附加到正文。然而...
<script src='template.js'> // compiled by jade cli
<script>$('body').append(anonymous({local:'value'))</script> // fails...
这通常会失败Uncaught ReferenceError: jade is not defined
。
通常,除了anonymous
之外,您应该重命名您的函数。