关于将Closure Compiler集成到构建过程的建议

时间:2014-11-24 16:05:37

标签: javascript jenkins continuous-integration google-closure-compiler google-closure

我们希望在构建过程中使用Google Closure,如下所示:

  • 在开发模式下,包含base.js并动态添加脚本标记
  • 在生产中,使用缩小和所有其他冷却的东西

这是在Tomcat上运行的Java项目,我们正在从Maven过渡到Gradle,并使用Jenkins进行持续集成。我们使用Apache Tiles作为前端技术。

我提出了一个可能的解决方案,但我感到痛苦和丑陋,并且想知道是否有更好的(更清洁,更简单等)解决方案。

我的臭溶液:

  

使用Tomcat上下文参数来标识生产模式。在JSP文件中,检查此变量并相应地包括Closure的base.js或缩小的js文件。

那么......还有其他建议吗?可能有利弊吗?

1 个答案:

答案 0 :(得分:1)

我为此使用Grunt。 Grunt是一种自动化前端缩小,编译,单元测试等工具。

网址:http://gruntjs.com/getting-started

在Grunt中,您创建一个Gruntfile并注册一个由一个或多个可重用配置组成的任务。配置执行如下操作:“缩小此目录中的所有文件并输出到该文件”。所以你要做的就是注册两个任务:一个用于开发,一个用于生产,有一些共同的配置,还有一些专门用于该环境的配置。

您可以将Tomcat上下文参数作为参数(最干净)传递给Grunt,或者将其作为Gruntfile中的环境变量读取,并在配置中创建if分支。

Grunt有很多插件:你需要的插件已经可用: