在Yeoman发电机中转义占位符

问题描述 投票:2回答:2

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

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

我怎么能克服这个?如何逃避或禁用某种占位符的处理?

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

placeholder yeoman-generator
2个回答
3
投票

我在maven属性上遇到了同样的问题,我必须使用${propertyname}

我通过使用以下模板解决了它。

this.template('_pom.xml', 'pom.xml', null, { 'interpolate': /<%=([\s\S]+?)%>/g });

我是自耕农的新手所以我不知道{ 'interpolate': /<%=([\s\S]+?)%>/g }做了什么,但它有效。


3
投票

如果你想渲染jsp标签,如:

<%@page contentType="text/html" pageEncoding="UTF-8"%>

你可以使用<%%打印文字<%

因此,更改上一行:

<%%@page contentType="text/html" pageEncoding="UTF-8"%>

这解决了我的代码而没有制作特别的东西。相同的解决方案可以应用于其他场景。

© www.soinside.com 2019 - 2024. All rights reserved.