Ruby on rails 使用Rails 3进行资产管理(在Heroku上)(Jammit、AssetHat、Rack PageSpeed)
我对Rails3.0.x(尤其是Heroku)中用于管理资产的不同工具的优缺点感兴趣 关于这个主题已经有一些问题,但同时也有一些新的工具可用 我对这些工具特别感兴趣:Ruby on rails 使用Rails 3进行资产管理(在Heroku上)(Jammit、AssetHat、Rack PageSpeed),ruby-on-rails,heroku,asset-management,Ruby On Rails,Heroku,Asset Management,我对Rails3.0.x(尤其是Heroku)中用于管理资产的不同工具的优缺点感兴趣 关于这个主题已经有一些问题,但同时也有一些新的工具可用 我对这些工具特别感兴趣: Jammit似乎可以做任何可以做的事情,而且时间更长。那么,这在哪里合适呢 Rack PageSpeed似乎可以通过直接处理服务器响应来快速完成所有工作。这样做是否会导致性能问题?你会推荐它胜过其他两种解决方案吗?嘿,我是这本书的作者。缩小和连接是最容易实现的性能提升;这些特性是Jammit、AssetHat和rack
Rack PageSpeed似乎可以通过直接处理服务器响应来快速完成所有工作。这样做是否会导致性能问题?你会推荐它胜过其他两种解决方案吗?嘿,我是这本书的作者。缩小和连接是最容易实现的性能提升;这些特性是Jammit、AssetHat和rack pagespeed的共同特性。Rails支持连接已经有很长一段时间了(虽然它是在运行时完成的,而不是在部署期间),Rails 3.1在部署期间同时支持缩小和连接也就不足为奇了 其余的特性使每个资产管理器都很有趣。例如,如果希望将图像和字体文件直接嵌入样式表中,Jammit非常有用。如果您想将所有优化保持在一个完全独立的层中,rack pagespeed也很方便 将资产内联到CSS中对于样式表很少更改的静态页面非常有用。然而,如果你的网站正在进行积极的开发,样式表甚至有一点变化,用户的浏览器必须重新下载整个内容,包括可能没有变化的内联图像和字体。这取决于项目的性质 如果您的资产太大,无法内联或连接,请选择有助于优化CDN和并行加载的资产:
- 它充分利用了CDN,无论是(使用亚马逊的服务器)还是您选择的其他CDN。例如,只需将
添加到布局中(以及配置文件中的版本号),即可从Google的CDN加载jQuery。如果您处于开发模式,并且有一个jQuery的本地副本,那么将加载轻松的脱机开发 - Asset可以重写样式表的图像URL以使用您的CDN。这从
设置中读取,并在部署时完成。您的原始CSS保持不变config.action\u controller.asset\u host
- 如果要加载多个JS文件,有时并行加载比串联(即强制串行加载)更快。您可以轻松地打开模式:
。如果您在本地没有LABjs的副本,或者您正在生产中,LABjs将通过cdnjs从Amazon的服务器加载:lab_js%>
rake asset\u hat:minify
(缩小并连接CSS/JS),将这些更改提交到我的存储库,然后进行实际部署
如果您尚未看到这些,您可能会对以下内容感兴趣:
如果您需要帮助设置它,或者有任何其他问题,请随时在GitHub()或Twitter()上给我发消息。据我所知,Jammit在Heroku上是无法开箱即用的。一种选择似乎是使用Heroku Jammit插件来管理您的资产 或者,可以将Jammit配置为输出到/tmp:
Rails 3.1将包括处理资产打包的链轮,我认为这是值得考虑的。我目前正在heroku上使用jammit,与amazon s3一起使用,它的工作方式很有魅力:) 我不能对其他工具说太多,因为我没有使用它们 你最后选了哪一个 费尔南多