【问题标题】:Example usage of jade runtime.js玉runtime.js的示例用法
【发布时间】:2013-09-13 01:12:44
【问题描述】:

我一直在研究在浏览器上使用已编译的翡翠模板。玉 README 说:

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

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

【问题讨论】:

    标签: pug template-engine


    【解决方案1】:

    如果要在客户端使用编译好的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 之外,您可能应该将函数重命名为其他名称。

    【讨论】:

      猜你喜欢
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      相关资源
      最近更新 更多