2

我一直在研究在浏览器上使用已编译的玉模板。玉自述文件说:

通过使用 Jade 的 ./runtime.js,您可以在没有 Jade 本身的情况下在客户端使用这些预编译模板,您所需要的只是相关的实用函数(在 runtime.js 中),然后可以作为 jam.attrs 使用、jade.escape 等。要启用此功能,您应该将 {client: true } 传递给 jam.compile() 以告诉 Jade 通过 jam.attrs、jade.escape 等引用辅助函数。

我找不到使用 runtime.js 方法的示例。我已经将模板编译成单独的 js 文件,但我应该如何使用它们呢?我现在只有多个称为匿名的函数和一个翡翠对象,我不知道如何使用。

4

1 回答 1

3

如果要在客户端使用编译好的jade模板函数,必须在页面中包含runtime.js。

runtime.js 提供了帮助函数,编译后的翡翠模板函数用于渲染 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.

于 2013-09-12T17:12:44.610 回答