JavaScript有最大的文件大小限制吗?浏览器能处理多大的文件?

9
工程师们为极大的web应用开发,那么在这些大型项目中,我们是否有任何顶部、限制或最佳实践来控制文件大小?我看到的最大的应该是 Twitter/Gmail,其 JavaScript 大约1MB (压缩后),但浏览器可以处理多少呢?
如果有一个有5MB、10MB或100MB压缩后的 JavaScript 的大型应用程序,会在什么情况下严重影响性能或内存使用(即使应用程序非常良好地编写和优化),JIT 处理器能否承受?还存在任何减少收益吗?
除了通常的嫌疑人,如 Gmail、Twitter、Facebook、Google Docs 等之外,是否有任何真正的例子表明应用程序变得如此庞大?
谢谢!
1个回答

5
据我所知,JavaScript 文件没有大小限制,所有类型的文件也没有限制。
唯一的限制是你运行 Web 应用程序的系统:
浏览器将消耗尽其需要处理您的 Web 应用程序的 CPU 和 RAM。互联网连接也是一个瓶颈。
虽然 Web 应用程序可能会变得很大,但实际上(生产使用)不存在将 JavaScript 文件提供到 100 MB 大小的示例 - 我的意思是,想想看,对于一个 JavaScript 文件而言,100 MB 的大小 (!),没有人会访问该页面,停留在该页面并等待 JavaScript 文件的下载完成以及浏览器的 JavaScript 引擎处理该文件。
但是请随便尝试编写一个大小为 100 MB 并执行多项任务(例如执行 1000 次 console.log())的 JavaScript 文件,并在此处向我们报告结果。

一些怀旧情感: 我发现了这个来自 Mozilla 的错误报告,它已经接近 13 年的历史了。


对于各种类型的文件,也没有任何限制。请注意:http://blogs.telerik.com/aspnetmvcteam/posts/10-05-03/internet-explorer-css-limits.aspx和http://joshua.perina.com/africa/gambia/fajara/post/internet-explorer-css-file-size-limit - CSS有限制:大小、选择器和文件数量。 - RaphaelDDL
1
那个CSS限制真是个麻烦事,我们几年前就发现了这个IE的限制,不得不把我们产品中所有的CSS规则都字面意义上地导入到JavaScript中,那是一个有趣的夜晚... - Hank
是的,我也遇到了IE8 CSS文件大小限制的问题。它不会处理超过150kb的部分文件内容。一直在试图理解为什么某些样式没有应用。 - Rantiev
一个有趣的用例是当您想要将数据集存储在JavaScript文件中,并让用户在浏览器中处理该数据时。在这些情况下,100 MB的JavaScript并不奇怪。这里有一个50 MB的示例,加载速度很快:https://annotation.github.io/app-nena/phono.html - Dirk Roorda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接