调用jade.escape时,jade.compileClient失败

时间:2014-12-31 01:47:52

标签: javascript pug

我正在使用jade.compileClient将jade文件转换为JS函数,并且在使用转义的html时出现问题。

在玉中我写道:

h2= conditional ? 'String1 ' + moreText : otherCondition ? 'String2' : 'String3'

它被转换为:

function template(locals) {
var buf = [];
var jade_mixins = {};
var jade_interp;
buf.push("<h2>" + (jade.escape(null == (jade_interp = conditional ? 'String1 ' + moreText : otherCondition ? 'String2' : 'String3') ? "" : jade_interp)) + "</h2>"); 

// [more code, beside the point]
好像很棒!唯一的问题是jade对象不存在(至少在我的代码中),并且如您所见,转换后的函数调用jade.escape(以及其他一些函数,如jade.attr,在其他情况下)。

我怎样才能让它发挥作用?我必须包括哪些东西,我不知道?

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用jade/runtime

解决
var jade = require('jade/runtime');    
var html = fs.readFileSync(filename);
var fn = jade.compileClient(html, { filename: filename });

fn(locals);

您也可以从this link下载。