Play框架中的资产指纹识别

时间:2012-09-19 22:22:54

标签: playframework playframework-2.0 cdn

Rails为指纹静态资产提供了一个非常简单的解决方案。 Play Framework有什么类似的东西吗?似乎无法在Google上找到任何内容。

感谢。

http://guides.rubyonrails.org/asset_pipeline.html

更新:我的公司最终在内部实施了一个。

4 个答案:

答案 0 :(得分:3)

你可能想看一下新的require.js支持[1],可以在play 2.1 master上找到

[1] https://github.com/playframework/Play20/commit/e3c2ffb0d4779863374c44c5ec1a588a1eca4474

答案 1 :(得分:3)

Play 2.3(目前在RC1上)引入了类似Rails的资产管道,支持asset fingerprinting

答案 2 :(得分:1)

Play framework 2内置了对CofeeScriptLESSClosure的支持,但是在运行时编译时,它们都不被视为“静态”资源。 / p>

还没有等效的fingerprint,所以你需要自己编写(可能很短)的动作。

答案 3 :(得分:1)

我不确定如何通过一个非常短的动作来做到这一点,正如一个答案所提到的那样。

但你可以创建一个像James Ward这样的包裹的Assets控制器: https://github.com/jamesward/play2-cloudfront

这只会处理用CDN信息装饰链接。然后,您可以获得链接的MD5并将其附加到文件名。所以,如果你有foo.js,那将是foo-fp-XXXXXXXXXXXXXX.js“。

我认为你必须更改路由文件,以便在CDN寻找时将该资产路由到正确的文件。所以该路线必须剥离“-fp-XXXXXXXXXXXXXX”中的所有内容并获取文件名和扩展名。

编辑:   这是git repo,我有一个例子,说明我们如何在公司进行资产指纹识别。 https://github.com/Egraphs/play-assets-improvements