为什么玉忽视\ n和空白?
我使用var generateCodeBlock = jade.compile('div !{text}', {pretty: true});
生成了一些基于Jade的HTML var generateCodeBlock = jade.compile('div !{text}', {pretty: true});
我想创造这样的东西
<div> var json = { labelA: 'a', labelB: 2 }; </div>
但是当我input{text: 'var json = {\n labelA: 'a',\n labelB: 2\n };'}
结束创build<div class="setup"> var json = { labelA: 'a', labelB: 2 };</div>
。 我也尝试在jade.compile
使用#{text}
,但没有任何区别。 为什么玉石我的variablesinput?
JSFiddle示例
更新:我现在已经尝试用模板创build一个单独的文件
block codeBlock div.codeBlock for part in code div(class="#{part.className}") !{part.text}
和jade.compileFile
,它仍然在生产var json = { labelA: 'a', labelB: 2 };
Jade不会忽略空格和换行符。 如果你真的logging了jade.compile($("#jadehi").html())(djson)
返回结果,你会发现你在数据中放入的任何空格或换行符(比如"Jade\n Test Page"
)仍然在那里。
这是HTML(或更准确地说,浏览器如何解释HTML)忽略这些字符。 正如在这个问题所解释的:
为什么浏览器渲染一个换行符作为空间?
而且,正如那里所build议的那样,也许使用一个<pre>
元素将会帮助你。