0
我想將一個.js文件傳遞給一個玉石模板以在ACE編輯器中渲染它。但對於某些文件(可能有正則表達式和其他轉義字符),編輯器不會呈現,並且在瀏覽器中出現錯誤,我應該如何編碼/轉義文件以使其始終呈現正確?我試過encode/decodeURIcomponent ......我想這是Jade導致的問題。爲jade模板編碼javascript
或者我應該在頁面呈現後嘗試發送文件,而不是將它作爲模板的一部分展開?
服務器:
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);
嘗試'var fileContent =!{editFile};'代替。 – 2014-09-08 13:03:25
好的我有它你需要var fileContent =!{JSON.stringify(editFile)}; – hartsr 2014-09-11 11:58:58