javascript - Chrome 切换到串行下载脚本

标签 javascript node.js google-chrome script-tag

有时(不是每次,但通常)当我在本地开发时,在成功下载数百个 JS 文件后(看起来我们目前拉取了 1393 个脚本),Chrome 会从并行下载文件切换到下载它们连续。

服务器是node,使用express和模块“serve-static”。我正在使用 Chrome 43.0。我正在使用 Node 0.12.2。我正在使用静态服务 1.9.3。这些文件都是使用像 <script src="foobar.js"></script> 这样的常规脚本标签来请求的。 .我怀疑这是一个 Chrome 问题,因为服务器响应没有改变。但浏览器请求也不会改变,只会改变它们的时间/顺序。

有什么想法吗?

enter image description here enter image description here

编辑:鉴于这看起来是一个 Chrome 问题,我已在此处向 Chromium 提交错误报告:https://code.google.com/p/chromium/issues/detail?can=2&q=serial%20script%20downloading&colspec=ID%20Pri%20M%20Week%20ReleaseBlock%20Cr%20Status%20Owner%20Summary%20OS%20Modified&id=500948&thanks=500948&ts=1434467876

最佳答案

每个浏览器都有一个最大数量的并发请求,它将同时执行来自任何给定主机的并发请求,并将所有其他请求排队。大多数浏览器支持每个主机名 6 个。有关每个浏览器的更多详细信息,请参见此处:http://www.browserscope.org/?category=network&v=top

1393 是在一个页面上要下载很多脚本。您可能需要查看整个项目架构和文件结构,以最小化这些文件以解决根问题。

您可以考虑将您的 javascript 文件缩小/压缩到单个文件或一组文件中,即使您只有几个 javascript 文件也应该这样做以优化性能。

您还可以使用 CDN(内容分发网络)来托管部分或全部文件。通过在不同的主机名(即 http://host1.com/file1.jshttp://host2.com/file2.js)上分发文件,浏览器可以同时从每个主机下载最大并发文件。

关于javascript - Chrome 切换到串行下载脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30855456/

相关文章:

javascript - Cufon 的问题。需要帮忙?

javascript - 使用 Coffeescript 读取本地文件

html - 单击下载链接时如何强制 chrome 显示另存为对话框?

javascript - 抛出新的类型错误 ('app.use() requires middleware functions' );

javascript - Chrome 应用程序弹出通知

javascript - JSON.parse 返回字符串而不是数组

javascript - JQuery 表单提交不存储值?

javascript - 如何将 Prop 传递给事件处理程序

javascript - Node path.relative 返回不正确的路径

node.js - NodeJS REST API 模型和服务结构