jquery.js 和 jquery.min.js 有啥区别?
Posted
技术标签:
【中文标题】jquery.js 和 jquery.min.js 有啥区别?【英文标题】:What's the difference between jquery.js and jquery.min.js?jquery.js 和 jquery.min.js 有什么区别? 【发布时间】:2011-03-29 08:23:50 【问题描述】:jquery.min.js 和 jquery.js 有什么区别?
哪一个支持所有功能?
【问题讨论】:
【参考方案1】:它们在功能上是相同的,但 .min 删除了所有不必要的字符以使文件更小。
还需要指出的是,您最好将缩小版本 (.min) 用于您的实时环境,因为 Google 现在正在检查页面加载时间。将所有 JS 文件压缩意味着它们会加载得更快,并且会给你更多的分数。
您可以获得一个名为 Page Speed 的 Mozilla 插件,它将浏览您的网站并向您显示所有 .JS 文件并提供缩小版本(以及其他内容)。
【讨论】:
@sasha.sochka 可能是的,因为它减小了文件大小,因此这意味着文件大小越小,对服务器的请求就越快。这显然首先取决于文件中的数据量。 @webnoob,抱歉解释不准确,我指的是运行时 JS 性能。 @sasha.sochka AFAIK JS 引擎没有性能提升。 另外,我见过这样的函数 - function(i,s,o,g,r,a,m)。另一种减少字符数的方法,是吗? @gilbertpilz - 缩小并不能阻止人们窃取代码。然而,混淆有助于防止人们重用您的代码。他们当然可以下载它,但它会很乱而且很难理解。【参考方案2】:两者都支持相同的功能。 jquery.min.js
是 jquery.js
的压缩版本(去掉空格和 cmets,更短的变量名,...),以保留带宽。就功能而言,它们是完全一样的。建议在生产环境中使用此压缩版本。
【讨论】:
【参考方案3】:jquery.js = 漂亮且易于阅读 :) 阅读这篇文章。
jquery.min.js = 看起来像乱码!但具有较小的文件大小。把这个放到你的网站上。
两者在功能上是相同的。区别仅在于它的格式是为了便于阅读还是为了更小的文件大小而紧凑。
具体来说,第二个是minified,这个过程涉及删除不必要的空格和缩短变量名。两者都有助于使代码更难阅读:删除空格会删除换行符和空格,从而弄乱格式,缩短变量名(包括一些函数名)用无意义的字母替换原始变量名。
所有这些都是以这样一种方式完成的,即它不会以任何方式影响代码在运行时的行为方式。值得注意的是,变量和函数名称的替换/缩短仅适用于出现在本地范围内的名称,不会干扰其他脚本中的任何其他代码。
【讨论】:
那你为什么要使用非缩小版呢?我的意思是您不会链接到非缩小版本只是为了阅读它。为什么他们甚至提供这个? 您可能想了解代码,以便稍后添加您自己的自定义插件。我宁愿能够阅读打开的,然后在我的网站中使用分钟。 @SebastianNielsen 非缩小版是您的工作文件。如果您需要稍后返回并更新您的代码,您可以将其写入到 regular.js 文件中。然后缩小并上传两者,这样你仍然有完整的文件要修改。【参考方案4】:Jquery.min.js 只是 jquery.js 的压缩版本。 你可以像 jquery.js 一样使用它,但它更小,所以在生产中你应该使用缩小版本,当你调试时你可以使用普通的 jquery.js 版本。 如果你想压缩你自己的 javascript 文件,你可以使用这些压缩器:
http://developer.yahoo.com/yui/compressor/ http://code.google.com/intl/pl-PL/closure/compiler/ http://jscompress.com/或者只是阅读 *** 上关于 js 压缩的 topis :) :
Best JavaScript compressor What do you use to minimize and compress JavaScript libraries?【讨论】:
现在最好的压缩器可能是 UglifyJS。在此之前的很长一段时间里,最好的是 Google 的 Closure Compiler。【参考方案5】:在简单的语言中,两个版本完全相同。唯一的区别是:
min.js 用于网站(在线)
.js 适用于需要阅读、了解或/和理解 jquery 代码的开发人员,即插件开发(离线、本地工作)。
【讨论】:
【参考方案6】:两者都包含相同的功能,但 .min.js 等效文件的大小已经过优化。您可以打开这两个文件并查看它们。在 .min.js 文件中,您会注意到所有变量名称都已简化为短名称,并且大多数空格和 cmets 已被删除。
【讨论】:
【参考方案7】:jquery.js:当你必须深入了解 jquery 的源代码时 jquery.min.js:节省带宽的压缩版本
除了使用 Google CDN 提供的压缩版本之外,还有一个选项可以节省更多带宽: http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
【讨论】:
【参考方案8】:总结—— 流行的 js 框架,如 jquery 或 dojo 为开发提供一个带有 cmets 的带有注释的、格式化的版本 以及用于 PRODUCTION 的不带 cmets 等的缩小版本(更快)
jquery.js - 开发 jquery.min.js - 生产
【讨论】:
【参考方案9】:如果您在生产站点上运行 JQuery,您应该加载哪个库? JQuery.js 还是 JQuery.min.js?简短的回答是,它们本质上是相同的,具有相同的功能。
一个版本很长,另一个是缩小版本。 minified 被压缩以节省空间和页面加载时间。缩小版中的空格已被删除,使它们变得乱七八糟且无法阅读。
如果您要在生产网站上运行 JQuery 库,我建议您使用缩小版,以减少页面加载时间,谷歌现在在其页面排名中考虑了这一点。
另一个不错的选择是使用 Google 的在线 JavaScript 库。这将为您省去下载库以及上传到您的站点的麻烦。此外,您的站点在加载 JQuery 时也不会使用资源。
您可以使用以下方式在您的页面中链接到它:
<script type=’text/javascript’ src=’http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js‘></script>
【讨论】:
【参考方案10】:jquery.min 是压缩版本。它已删除 cmets、新行、...
【讨论】:
【参考方案11】:如果您使用来自 Google CDN 的 Jquery,它的性能会比您添加到您的页面并被下载的性能提高 5 到 10 倍。此外,您将获得最新版本的 Jquery 文件。
这两个文件(即 jquery.js 和 jquery.min.js)之间的区别只是文件大小,因此文件下载速度更快。 :)
【讨论】:
以上是关于jquery.js 和 jquery.min.js 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章