Jade.escape在编译的Jade模板上是未定义的
我已经编译了一个玉的模板,如:
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也是undefined,虽然我包含了jade.js
你需要添加runtime.js和jade.js以便使用jade.escape。