背景
实际上,Jade/Pug语法通过使用三种语法允许使用纯HTML(或任何其他纯文本),如您可以在该项目网站的参考资料中看到。
点号语法(也称为“标签中的块”)
ul.
<li><a href="#book-a">Book A</a></li>
<li><a href="#book-b">Book B</a></li>
管道语法(也称为“
管道文本”)
ul
| <li><a href="#book-a">Book A</a></li>
| <li><a href="#book-b">Book B</a></li>
tag syntax(也称为“
内联于标签中”)
“只需在标签后面放置一些内容”,也可以起到作用。
ul
li <a href="#book-a">Book A</a>
将呈现
<ul><li><a href="#book-a">Book A</a></li></ul>
问题
回到你的问题,你的样本
<div class="someClass">
<h3> #{book.name} </h3>
</div>
可以简单地编写为
.someClass
h3= book.name
我认为,这样更易读,所以在这种情况下,您应该考虑写原始HTML是一种不好的做法,但并非总是如此。
在我看来
在我看来,常识是最好的良好实践。也许我会考虑使用一个原始的HTML块来插入页面上的小部件,例如YouTube视频或自定义Google地图的<iframe>。
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.es/maps/ms?msa=0&msid=217708588685721440865.0004d1d4faefdd11adf39&ie=UTF8&ll=43.167638,-7.838262&spn=1.010793,0.991384&t=m&output=embed"></iframe>
<iframe width="420" height="315" src="http://www.youtube.com/embed/_Vkm2nMM3-Q" frameborder="0" allowfullscreen></iframe>
如上所述,在此不使用
attribute syntax没有意义。结果几乎相同,并且更快地保留原始的html。
iframe(width="425", height="350", frameborder="0", scrolling="no", marginheight="0", marginwidth="0" src="https://maps.google.es/maps/ms?msa=0&msid=217708588685721440865.0004d1d4faefdd11adf39&ie=UTF8&ll=43.167638,-7.838262&spn=1.010793,0.991384&t=m&output=embed")
iframe(width="420", height="315", src="http://www.youtube.com/embed/_Vkm2nMM3-Q", frameborder="0", allowfullscreen)
ul: li: a(href="#book-a") Book A
看起来非常易读。你只是打算使用Jade进行模板逻辑吗? - Blender