3
我想知道的任何“最佳实践”的JavaScript微小的工作流程整合“现代的JavaScript构建工作流”到一个Maven构建产生WAR神器。与Maven
我发现,处理几个Maven插件级联和缩小:
- WRO4J:https://code.google.com/p/wro4j/wiki/MavenPlugin
- 缩减大小Maven插件:https://github.com/samaxes/minify-maven-plugin
- YUI:http://alchim.sourceforge.net/yuicompressor-maven-plugin/
但是我仍下落不明他们如何适应完整的构建工作流程,因为我认为强制切换串联/迷你fication和关闭:
对于开发我想建立一个不包含级联/精缩资源WAR让我可以方便地调试。对于生产版本,我想生成一个包含连接/缩小资源的WAR。
此外,对于生产建设然后我在我的HTML“重写”剧本的URL指向脚本(S)的串连/缩小的版本(S)。
在JavaScript的世界里,我会用不同的咕噜任务(丑化,usemin)咕噜实现上述工作流程。我如何在Maven构建中实现同样的功能?
我知道这是一个古老的线程,我来到这里在我搜索一个在一个完整的另当别论。所以我读了这个问题,我认为@JamesMurphy提供的答案是可以的,关于你在评论中提到的第二部分'挣扎着怎样才能“重写”我的HTML,以便它使用非缩小或缩小的JavaScript ',为什么你需要使用不同的文件?我会在我的html'someScritp.js'中使用它,并且为了开发它将不被缩小,并且对于生产它将被缩小。这是一个很好的解决方案吗? –
@JorgeCampos现代前端项目的标准优化步骤是缩小,拼接/捆绑和缓存清除。对于开发,您需要细粒度的文件,而您只需要很少的文件包含所有资产(JS,CSS ...)。将多个文件优化为几个文件称为* concatenation *或* bundling *。通常,您还希望通过向文件名添加散列来“缓存”文件。这些新文件在HTML中被引用为'
既然你提到咕噜,你有没有考虑直接从您的Maven构建调用步兵的任务?这不是一个完美的解决方案,但是它不依赖Maven插件就可以给你更多的选择。 http://addyosmani.com/blog/making-maven-grunt/
此外,该SO话题:Javascript web app and Java server, build all in Maven or use Grunt for web app?
来源
2013-11-19 00:55:09
不错的选择。 Grunt可能会解决这个问题,因为你可以运行与Maven目标绑定的咕task任务。 –