我开始为我的rails项目添加角度,该项目由HAML提供支持。 HAML很好,因为它节省了大量的编码时间,使我的代码更具可读性,但HAML很慢。
有什么方法可以编写HAML,预编译和/或缓存它,然后允许Nginx提供静态HTML而无需访问unicorn服务器。目标是避免每次都调用ruby来呈现HAML。
我考虑直接在public/
中编写html,但这似乎很懒惰。奖金问题:有角度的HAML有更好的选择吗?我为了熟悉而给自己造成了不必要的压力吗?
答案 0 :(得分:1)
通过
从服务器端渲染的角度为“静态”设置每个视图的控制器中的http标头。expires_in 1.year, :public => true
然后将亚马逊云放在实际的Web应用程序前面,并使用Cloudfront分发除Angular和Ajax请求处理的内容之外的所有静态视图。
我工作的一个项目允许人们在网站上发布显示其帐户状态的小部件,我们通过使用
通过Cloudfront分发所有小部件来实现此目的expires in 10.minutes, :public => true
基本上限速每个客户端每10分钟只打一次实际服务器。同样的理论适用于此。您还必须根据版本号更改网址,以便在更新时使Cloudfront缓存无效。
Sense Cloudfront相对于服务器端渲染而言相对便宜,或者磁盘读取会导致速度和底线的增加。