我试图通过构建工具来做到这一点,但最终我想要的是Sprockets。这是否适用于基于Spring / SpringMVC的项目?或者我是否必须编写一个servlet来执行此操作并缓存结果?
基本上,为了避免在我的maven pom.xml
中维护html中的开发javascript依赖信息和生产依赖信息,我认为将依赖项放在实际javascript的注释中会更好。 css文件。这就是Sprockets的作用。
这种解决方案比使用构建系统更好,因为您的开发和生产环境不再需要变化 - 所有内容都在同一位置定义。您实际上不再需要处理pom.xml
了,而且您不必再在html模板中编辑javascript / css标签了。
目前使用Java制作Web应用程序的问题在于,如果要缩小和聚合资产,最终会在Maven或Gradle中执行此操作,这意味着如果您要测试未压缩的“实时”javascript代码而不是聚合,您必须在布局html模板中维护单独的脚本标记。这是一种可维护性差的设计。如果您不想使用实时开发版本,则在每次手动编辑后,您将被迫使用maven重新压缩和重新聚合javascripts / css。这不是一个开发应用程序的好方法,这就是Sprockets如此吸引人的原因 - 它通过完全从构建系统中完全解决了这个问题。
我不需要Sprockets所具有的所有精彩功能。例如,我不需要所有对引擎的支持,例如CoffeeScript和SASS。基本的Javascript / css支持很好。我更感兴趣的是获得压缩/聚合/依赖关系管理功能,以及时间戳/缓存功能,以便服务器不会对每个页面请求进行压缩/聚合。