我想知道以下几点之间的区别或优点是什么:
在//= require jquery.ui.all
application.js
和
将javascript_include_tag "jquery-ui-1.10.4.min"
插入
布局(application.html.erb
)。
在我看来,我可以在两个命题中看到吸引力,因为第一个提出了很多请求,而第二个请求只包含一个请求!
答案 0 :(得分:2)
您编辑了问题,现在您没有在示例中使用CDN,因此可能会误导您想要的内容。
无论如何,您有3个选项(可能更多?我不知道):在带有// require的清单中,在带有链接标记的资产路径中或在CDN中,使用什么取决于您
清单内: Rails编译清单(通常是application.js),将所有内容放在最终的.js文件中,这样最终只有一个请求可以获取您网站的所有javascript。
在清单之外,带有链接标记: 如果你有几次加载并且很重的东西,这是很有用的。如果您在网站的每个页面上都不需要那个东西并且很重,那么您可以在主应用程序之外使用它。只在需要时加载它。 您需要将该文件添加到生产配置上的预编译资产数组中。
在CDN上: 这使网站更快。您可以并行地对单个站点执行有限数量的请求,使用CDN可以向您的站点请求一些请求到CDN,您可以并行提出更多请求,并且CDN的响应通常也是如此快点。 这需要更多的工作,您需要将您的资产与CDN同步,我不确定预编译过程是否可以为您做到(也许有一些宝石,我不知道)。