2014-05-23 18 views
2

我想使用Yeoman爲web應用程序創建生成器,並且我有* .jsp和* .gradle文件,我想在引導過程中生成(有時只是複製)。不幸的是,Yeoman在* .jsp文件中存在JSP註釋時會拋出錯誤,如<%@ ... %>或在* .gradle文件中存在像${ .. }這樣的佔位符。在Yeoman發生器中轉義佔位符

我想這個錯誤的原因是Yeoman把這個條目當作佔位符來處理,但是它找不到合適的值,所以它會拋出。

我該如何克服這個問題?我如何逃避或禁用某種佔位符的處理?

我仍然想在相同的文件中使用EJS風格的佔位符<%= .. %>

回答

2

我在使用${propertyname}的maven屬性上遇到同樣的問題。

我解決了它通過使用以下模板。

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

我是新來的自耕農,所以我不知道是什麼{ 'interpolate': /<%=([\s\S]+?)%>/g }做,但它的工作。

+1

其解釋如下:http://underscorejs.org/#template –

0

如果你想呈現像JSP標籤:

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

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

因此改變以前行:

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

這解決了我代碼沒有使我的代碼adhocs。同樣的解決方案可以應用於其他情況。