經過多次調查,我確定最好的選擇是編寫我自己的maven插件。我有一個包含在其中插入CSS和JS代碼到HTML指令一個簡單的html的模板:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Fifa Social - Hello World</title>
<meta name="description" content="Hello World app for Fifa Social">
<meta name="viewport" content="width=device-width">
$cssIncludes$
$jsIncludes$
</head>
<body>
<p>Page content</p>
</body>
</html>
然後我有一個在Maven生命週期的「生成來源」階段運行的Maven插件項目採用模板並用<script>
和<link>
標籤的相應列表替換$cssIncludes$
和$jsIncludes$
。 (注意:我使用antlr stringtemplate Java庫作爲我的插件的依賴項)。
我不能發佈實際的插件,因爲它是一個專有的項目,但它是從AbstractMojo延伸的單個Java類
- 它
@parameter
特性來讀取POM
- 的
<configuratioon>
HTML模板的位置
- 輸出文件
- 的JS文件
- CS的名單列表的位置小號中執行它
- 是作爲一個字符串
- 創建使用默認
org.antlr.stringtemplate.language.DefaultTemplateLexer
HTML模板
- 的
org.antlr.stringtemplate.StringTemplate
。
- 遍歷從配置中創建
<script>
和<link>
標籤作爲字符串
- 使用
template.setAttribute
JS和CS文件到內置字符串綁定$ cssIncludes $和$ jsIncludes $
- 模板寫入文件系統
它工作得很好。我只是根據當前的Maven配置文件發送一個不同的JS和CSS文件列表到插件。
這不是壓縮,這是問題 - 它是創建在HTML文件的正確''