将外部Javascript加载到rails应用程序中

时间:2013-11-15 12:47:40

标签: javascript ruby-on-rails asset-pipeline cdn google-cdn

我想使用CDN加载引导程序和jquery以尝试提高站点性能。考虑到性能,以下哪一项是最好的方法:

1。将脚本标记直接添加到html或布局文件中

<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js"></script>

2。动态加载内容到资产管道的中间,正如Daniel Kehoe here在“动态加载”下讨论的那样。

1 个答案:

答案 0 :(得分:3)

我认为,除了我们的代码库以外,任何文件所使用的链接或不同的存储库都会反映出一些可用性问题。

  

这里bootstrap js文件总是取决于netdna的速度   域服务器。服务器故障或故障将影响我们的性能   以及我们系统的可靠性。这样的事情不会经常发生,但可能是机会。

我建议根据我的经验,最好的方法是以压缩格式在我们的服务器上保留相同的文件,以避免此类未来问题,并定期更新该文件作为更新版本。

减少DNS查找

  

雅虎表示开发者网络博客,大概需要20-120   DNS(域名系统)解析a的IP地址的毫秒数   给定主机名或域名,浏览器无法执行任何操作   这个过程已经完成了。

将多个Javascripts合并为一个

- &GT;你可以组合多个Javascripts的人,比如:

http://www.example.com/javascript/prototype.js
http://www.example.com/javascript/builder.js
http://www.example.com/javascript/effects.js http://www.example.com/javascript/dragdrop.js
http://www.example.com/javascript/slider.js

通过将URL更改为单个文件: http://www.example.com/javascript/prototype.js,builder.js,effects.js,dragdrop.js,slider.js

压缩Javascript / CSS

还有一些Web服务允许您在线手动压缩Javascripts和CSS文件。我们很少知道:

compressor.ebiene(Javascript,CSS)

javascriptcompressor.com(Javascript)

jscompress.com(Javascript)

CleanCSS(CSS)

CSS Optimizer(CSS)