我想使用通过以下方式获取资产时自动添加到资产 URL 的 CDN URL:
@routes.Assets.versioned("js/whatever.js")
有一篇很棒的文章介绍了如何为 Play 2.3 设置 CDN URL,但我在 Play 2.4 中找不到任何示例。有人已经弄清楚了吗?
谢谢!
我想使用通过以下方式获取资产时自动添加到资产 URL 的 CDN URL:
@routes.Assets.versioned("js/whatever.js")
有一篇很棒的文章介绍了如何为 Play 2.3 设置 CDN URL,但我在 Play 2.4 中找不到任何示例。有人已经弄清楚了吗?
谢谢!
这实际上取决于您的 Web 基础架构需要什么缓存策略。
说到 2.3 到 2.4 的过渡,您只需要更改一件事:
controller
而不是object
有关原因,请参阅迁移指南。
更一般地说,Play 框架内置了出色的缓存支持。我会使用versioned
而不是at
内置Assets
控制器来通过使用Etag来包含版本控制支持。值得检查您的 CDN 是否支持 Etag。
您可以使用此基于 HTTP 标头的 Etag 技术和博客文章中基于文件名的技术中的一种或两种。这取决于您的网络基础设施。一个可能比另一个更好。
(该博客中的 PS 代码无法编译,自定义at
需要三个参数,而对其的调用只有两个参数。)