为jade模板编码javascript

时间:2014-09-03 01:14:08

标签: javascript node.js express pug encode

我正在尝试将.js文件传递给jade模板,以使其在ACE编辑器中呈现。但是对于某些文件(可能有正则表达式和其他转义字符),编辑器将无法呈现并且我在浏览器中出现错误,我应该如何编码/转义文件以使其始终正确呈现?我已经尝试过encode / decodeURIcomponent ......我猜它的Jade引起了这个问题。

或者我应该尝试在页面渲染后发送文件,而不是将其作为模板的一部分进行扩展?

服务器:

editFile = fs.readFileSync(fileName, 'utf8'); //JavaScript file
res.render('editor', { title: 'File Editor '+fileName, editFile: editFile });

玉模板:

#editor
script(src='/ace/ace.js', type='text/javascript', charset='utf-8')
script(type='text/javascript', charset='utf-8').
var fileContent = '!{editFile}';
var editor = ace.edit("editor"); //standard div
editor.getSession().setMode("ace/mode/javascript");
editor.setValue(fileContent);

1 个答案:

答案 0 :(得分:0)

所以解决方案似乎是:

var fileContent = !{JSON.stringify(editFile)};

全部谢谢。