javascript - 将外部 Javascript 加载到 Rails 应用程序中

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

我想使用 CDN 来加载 bootstrap 和 jquery,以尝试提高网站性能。考虑到性能,以下哪项是执行此操作的最佳方法:

<强>1。直接将脚本标签添加到 html 或布局文件中

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

<强>2。如 Daniel Kehoe here 所讨论的,将内容动态加载到 Assets 管道的中间。在“动态加载”下。

最佳答案

我认为,除了我们的代码库之外,用于任何文件的链接或不同存储库都将反射(reflect)一些可用性问题。

Here bootstrap js file will always depends on the speed of netdna domain server. Server down or failure will affect our performance as well as reliablity of our system. Such thing will not happen frequently but may be chance.

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

减少 DNS 查找

According to Yahoo! Developer Network Blog, it takes about 20-120 milliseconds for DNS (Domain Name System) to resolve IP address for a given hostname or domain name and the browser cannot do anything until the process is properly completed.

将多个 Javascript 合并为一个

--> 大家可以组合多个 Javascript,例如:

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 服务允许您在线手动压缩 Javascript 和 CSS 文件。以下是我们所了解的一些内容:

compressor.ebiene (Javascript、CSS)

javascriptcompressor.com (Javascript)

jscompress.com (Javascript)

CleanCSS (CSS)

CSS Optimizer (CSS)

关于javascript - 将外部 Javascript 加载到 Rails 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20001459/

相关文章:

javascript - 如何按百分比调整 HTML 组件

ruby-on-rails - 为什么 Rails 试图预编译 .css 文件

ruby-on-rails - 资源 :precompile 上的 AngularJS Material 错误

javascript - 如果条件改变则不执行 setTimeout

javascript - 当我们在 Javascript 中重新声明对象时会发生什么?

javascript - 对 Firebase 安全性的基本了解

ruby-on-rails - 使用强参数时如何在 Rails 中请求数组?

ruby-on-rails - 生产中的 bundler 不会忽略开发和测试 gem

ruby-on-rails - 为什么 ERB 会出现此错误?

ruby-on-rails - 使用 Gem 加载资源(遇到问题将无法加载资源)