我有几个JavaScript资产,其中包含不断变化的数据。一种解决方案是使用AJAX来检索这些数据,但我尽量保持简单,只将数据包含在JavaScript资产文件中(我已经设置了一个自定义资产文件类型,它使用GSP模板引擎来解析JavaScript文件中的任何GSP标记……这就是不断变化的数据的来源)。
我唯一不明白的是,如何在创建WAR文件时不预编译这些资产,而是在每次请求时重新编译这些资产,以便在其中包含最新的数据。使用Asset Pipeline插件可以做到这一点吗?
发布于 2014-07-24 01:21:01
在每次请求时重新生成javascript文件似乎与资产管道方法相反。Asset-pipeline用于为静态资产提供服务(如docs的第一个意义中所述)。
最干净的方法是将静态数据放入资产管道,然后通过ajax进行动态数据。然后,您甚至可以更好地处理通过http头的缓存(对于ajax调用)。
但是,asset-pipeline可以使用<asset:script type="text/javascript" />将脚本元素嵌入到页面中(如docs中的“延迟脚本”一节所述)。但这一点似乎并不比ajax调用更清楚。您提到的另一个选项,如果可能的话,声明一些要重新生成的文件似乎不太适合资产管道。
https://stackoverflow.com/questions/24900667
复制相似问题