我正在尝试使用Yeoman为Web应用程序创建生成器,我有* .jsp和* .gradle文件,我想在引导期间生成(有时只是复制)。不幸的是,当* .jsp文件(例如<%@ ... %>
)中存在JSP注释或* .gradle文件中存在${ .. }
等占位符时,Yeoman会抛出错误。
我猜错误的原因是Yeoman将这些条目视为待处理的占位符,但它找不到合适的值,因此它会抛出。
我怎样才能克服这一点?如何逃避或禁用某种占位符的处理?
我仍然希望在相同的文件中使用EJS样式的占位符<%= .. %>
。
答案 0 :(得分:3)
我在maven属性上遇到了同样的问题,我必须使用${propertyname}
。
我通过使用以下模板来解决它。
this.template('_pom.xml', 'pom.xml', null, { 'interpolate': /<%=([\s\S]+?)%>/g });
我是自耕农的新手,所以我不知道{ 'interpolate': /<%=([\s\S]+?)%>/g }
做了什么,但它有效。
答案 1 :(得分:2)
如果你想渲染jsp标签,如:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
您可以使用<%%
打印文字<%
因此更改上一行:
<%%@page contentType="text/html" pageEncoding="UTF-8"%>
这解决了我的代码而没有制作adhocs。相同的解决方案可以应用于其他场景。