【问题标题】:Rails 4 - Difference between //= require jquery.ui.all or use a CDNRails 4 - //= 需要 jquery.ui.all 或使用 CDN 之间的区别
【发布时间】:2014-04-17 21:17:03
【问题描述】:

我想知道以下之间的区别或优势是什么:

在文件application.js中插入//= require jquery.ui.all

javascript_include_tag "jquery-ui-1.10.4.min" 插入 布局 (application.html.erb)。

在我看来,我可以在这两个命题中看到吸引力,因为第一个命题做了很多请求,而第二个命题在一个请求中包含了所有内容!

【问题讨论】:

  • 部署你的代码,你可能会想要使用第一个......一旦投入生产,你的代码就会被“版本化”,所以如果你使用 ,但使用 //= 要求时,rails 会为您处理。
  • 对不起,我的问题有误,我已经编辑过了。这不是相对路径。
  • 啊!好的。所以使用CDN!对您的服务器更好,为什么不呢?因为开发通常不是很酷,您希望快速提供服务,但在生产中,我认为 CDN 更适合最终用户,因为浏览器减少了您可以为单个域进行的下载次数。

标签: javascript jquery ruby-on-rails jquery-ui


【解决方案1】:

您编辑了问题,现在您没有在示例中使用 CDN,因此可能会误导您想要的内容。

无论如何,您有 3 个选项(可能更多?我不知道):在清单中使用 //require,在资产路径中使用链接标签或在 CDN 中,使用什么取决于您

清单内部: Rails 编译清单(通常是 application.js),将所有内容放入最终的 .js 文件中,因此最后您只需一个请求即可获取您网站的所有 javascript。

在清单之外,带有链接标签: 如果您的东西加载了几次并且很重,这将很有用。如果您不需要站点上的每个页面上的那个东西并且很重,那么您可以在主 application.js 之外拥有它并仅在需要时加载它。 您需要将该文件添加到生产配置中的预编译资产数组中。

在 CDN 上: 这使网站更快。您可以并行向单个站点发出有限数量的请求,使用 CDN 可以向您的站点发出一些请求,向 CDN 发出一些请求,您可以并行发出更多请求,而且 CDN 的响应通常更快。 这需要更多的工作,您需要将您的资产与 CDN 同步,我不确定预编译过程是否可以为您做到这一点(也许有一些宝石,我不知道)。

【讨论】:

    猜你喜欢
    • 2014-09-02
    • 2015-07-22
    • 2015-05-14
    • 2018-03-11
    • 2020-12-06
    • 2012-01-12
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    相关资源
    最近更新 更多