Rails,HAML和Angular.JS,任何预编译HAML的方法?

时间:2014-08-10 14:56:50

标签: ruby-on-rails ruby-on-rails-4

我开始为我的rails项目添加角度,该项目由HAML提供支持。 HAML很好,因为它节省了大量的编码时间,使我的代码更具可读性,但HAML很慢。

有什么方法可以编写HAML,预编译和/或缓存它,然后允许Nginx提供静态HTML而无需访问unicorn服务器。目标是避免每次都调用ruby来呈现HAML。

我考虑直接在public/中编写html,但这似乎很懒惰。奖金问题:有角度的HAML有更好的选择吗?我为了熟悉而给自己造成了不必要的压力吗?

1 个答案:

答案 0 :(得分:1)

通过

从服务器端渲染的角度为“静态”设置每个视图的控制器中的http标头。
expires_in 1.year, :public => true

然后将亚马逊云放在实际的Web应用程序前面,并使用Cloudfront分发除Angular和Ajax请求处理的内容之外的所有静态视图。

我工作的一个项目允许人们在网站上发布显示其帐户状态的小部件,我们通过使用

通过Cloudfront分发所有小部件来实现此目的
expires in 10.minutes, :public => true

基本上限速每个客户端每10分钟只打一次实际服务器。同样的理论适用于此。您还必须根据版本号更改网址,以便在更新时使Cloudfront缓存无效。

Sense Cloudfront相对于服务器端渲染而言相对便宜,或者磁盘读取会导致速度和底线的增加。