Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails 4-与/=require jquery.ui.all或使用CDN之间的差异_Javascript_Jquery_Ruby On Rails_Jquery Ui - Fatal编程技术网

Javascript Rails 4-与/=require jquery.ui.all或使用CDN之间的差异

Javascript Rails 4-与/=require jquery.ui.all或使用CDN之间的差异,javascript,jquery,ruby-on-rails,jquery-ui,Javascript,Jquery,Ruby On Rails,Jquery Ui,我想知道以下两者之间的区别或优势是什么: 在文件application.js 及 将javascript\u include\u标记“jquery-ui-1.10.4.min”插入 布局(application.html.erb) 在我看来,我可以在这两个命题中看到吸引力,因为第一个命题提出了很多请求,而第二个命题仅在一个请求中包含了所有请求 您编辑了问题,现在您没有在示例中使用CDN,因此这可能会误导您想要的内容 不管怎样,您有3个选项(可能更多?我不知道):在清单中使用//require、在

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

在文件
application.js

javascript\u include\u标记“jquery-ui-1.10.4.min”
插入 布局(
application.html.erb


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

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

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

在舱单内: Rails编译清单(通常是application.js),将所有内容都放在最终的.js文件中,因此最终您只有一个请求来获取站点的所有javascript

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

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

部署您的代码,您可能会想使用第一个。。。一旦进入生产环境,您的代码就会被“版本化”,因此如果您使用,您的相对路径就会变得一团糟,但是使用//=require,rails将为您处理这些。很抱歉,我在问题中犯了一个错误,我已经编辑了。这不是一条相对的道路。啊!好啊因此,请使用CDN!对您的服务器更好,为什么不呢?因为dev通常不那么酷,你希望它能快速提供服务,但在生产中,我认为CDN对最终用户来说更好,因为浏览器减少了你可以为单个域下载的数量。