最近在使用jade+express+typescript搭建一个博客项目,在使用jade-bootstrap项目时出现了一个问题
在使用其中的carousel时,发现其中的变量并无转义html
+carousel("157",[ {image:"images/bgimage.jpg",h1:"Headline #1",p:"Carousel Caption #1",button:{caption:"Sign up today",url:"#"}}, {image:"images/bgimage.jpg",h1:"Headline #2",p:"Carousel Caption #2",button:{caption:"Sign up today",url:"#"}}, {image:"images/bgimage.jpg",h1:"Headline #3",p:"Carousel Caption #3",button:{caption:"Sign up today",url:"#"}}, {image:"images/bgimage.jpg",h1:"Headline #4",p:"Carousel Caption #4",button:{caption:"Sign up today",url:"#"}} ])
结果是git
<div class="carousel slide" id="carousel-#{id}" data-ride="carousel"> <ol class="carousel-indicators"> <li class="" data-target="#carousel-#{id}" data-slide-to="#{index}"></li> <li data-target="#carousel-#{id}" data-slide-to="#{index}" class=""></li> <li data-target="#carousel-#{id}" data-slide-to="#{index}" class=""></li> <li data-target="#carousel-#{id}" data-slide-to="#{index}" class="active"></li> </ol> <div class="carousel-inner" role="listbox"> <div class="item"><img src="#{item.image}"> <div class="carousel-caption"> <h1>Headline #1</h1> <p>Carousel Caption #1</p> <p><a class="btn btn-lg btn-primary" href="#{item.button.url}" role="button">Sign up today</a></p> </div> </div> <div class="item"> <img src="#{item.image}"> <div class="carousel-caption"> <h1>Headline #2</h1> <p>Carousel Caption #2</p> <p><a class="btn btn-lg btn-primary" href="#{item.button.url}" role="button">Sign up today</a></p></div> </div> <div class="item"> <img src="#{item.image}"><div class="carousel-caption"><h1>Headline #3</h1><p>Carousel Caption #3</p><p> <a class="btn btn-lg btn-primary" href="#{item.button.url}" role="button">Sign up today</a></p></div></div><div class="item active"><img src="#{item.image}"><div class="carousel-caption"><h1>Headline #4</h1><p>Carousel Caption #4</p><p> <a class="btn btn-lg btn-primary" href="#{item.button.url}" role="button">Sign up today</a></p></div></div></div> <a class="left carousel-control" href="#carousel-#{id}" role="button" data-slide="prev"><span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span><span class="sr-only">Previous</span></a><a class="right carousel-control" href="#carousel-#{id}" role="button" data-slide="next"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span><span class="sr-only">Next</span></a></div>
其中的a属性的#{item.image}原样输出,开启jade模版的debug也并无报错。
pug其实就是jade的新版本,为了不版权进行了修改,所以我一开始查阅的jade资料。
我在该库的issues中看见了一个好久的issuegithub
固然最后是在看pug的英文文档发现了错误,该库的源码在jade更新到pug后因为api的改变已经不能正确使用,须要进行修改。typescript
jade to pug 迁移的文档express
另外一个相关的issuebootstrap
唉,偷懒看中文文档确实无法保证时效性啊。修改了其中模版的代码后能够正确使用。api