我们希望在构建过程中使用Google Closure,如下所示:
这是在Tomcat上运行的Java项目,我们正在从Maven过渡到Gradle,并使用Jenkins进行持续集成。我们使用Apache Tiles作为前端技术。
我提出了一个可能的解决方案,但我感到痛苦和丑陋,并且想知道是否有更好的(更清洁,更简单等)解决方案。
我的臭溶液:
使用Tomcat上下文参数来标识生产模式。在JSP文件中,检查此变量并相应地包括Closure的base.js或缩小的js文件。
那么......还有其他建议吗?可能有利弊吗?
答案 0 :(得分:1)
我为此使用Grunt。 Grunt是一种自动化前端缩小,编译,单元测试等工具。
网址:http://gruntjs.com/getting-started
在Grunt中,您创建一个Gruntfile并注册一个由一个或多个可重用配置组成的任务。配置执行如下操作:“缩小此目录中的所有文件并输出到该文件”。所以你要做的就是注册两个任务:一个用于开发,一个用于生产,有一些共同的配置,还有一些专门用于该环境的配置。
您可以将Tomcat上下文参数作为参数(最干净)传递给Grunt,或者将其作为Gruntfile中的环境变量读取,并在配置中创建if分支。
Grunt有很多插件:你需要的插件已经可用: