在Yeoman发电机中转义占位符

时间:2014-05-23 14:06:56

标签: placeholder yeoman-generator

我正在尝试使用Yeoman为Web应用程序创建生成器,我有* .jsp和* .gradle文件,我想在引导期间生成(有时只是复制)。不幸的是,当* .jsp文件(例如<%@ ... %>)中存在JSP注释或* .gradle文件中存在${ .. }等占位符时,Yeoman会抛出错误。

我猜错误的原因是Yeoman将这些条目视为待处理的占位符,但它找不到合适的值,因此它会抛出。

我怎样才能克服这一点?如何逃避或禁用某种占位符的处理?

我仍然希望在相同的文件中使用EJS样式的占位符<%= .. %>

2 个答案:

答案 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。相同的解决方案可以应用于其他场景。

相关问题