在编译的Jade模板上未定义Jade.escape

时间:2012-12-11 05:25:44

标签: node.js pug

我已经编制了一个玉石模板,如:

jade --client --no-debug ...

然后在客户端包含jade.js和编译的模板文件。但jade.escape未定义。我注意到编译的模板函数如下所示:

function anonymous(locals, attrs, escape, rethrow, merge) {
    attrs = attrs || jade.attrs; escape = escape || jade.escape; rethrow = rethrow || jade.rethrow; merge = merge || jade.merge;
    var buf = [];
    with (locals || {}) {
    var interp;
    buf.push('<h1>');
    var __val__ = title
    buf.push(escape(null == __val__ ? "" : __val__));
    buf.push('</h1>');
    }
    return buf.join("");
}

注意如何将escape作为参数传入。那么预期的使用情况怎么样?

假设我有一个非常简单的模板:

h1= title

然后我就像使用它一样:

html = anonymous({title: "Hello World!"})

但这意味着逃避将是未定义的?我注意到jade.escape也未定义,尽管我包括jade.js

1 个答案:

答案 0 :(得分:2)

你需要添加runtime.js和jade.js才能使用jade.escape。