【问题标题】:jQuery/JavaScript - performance-issue when having a lot of small .js-Files?jQuery/JavaScript - 有很多小 .js 文件时的性能问题?
【发布时间】:2010-09-23 22:27:02
【问题描述】:

我有一个包含大量引用的 .js 文件的站点;这些是相当小的文件,但我想让我的方法按主题/功能分开。

将所有方法保存在一个 .js 文件中更好,还是有许多(~20 - 30)个小文件都只包含一些行没有问题?

【问题讨论】:

    标签: javascript jquery performance include jscompress


    【解决方案1】:

    无论如何都要将它们分开用于开发,但您应该考虑将它们捆绑到一个文件中以用于生产。

    sitepoint.com 有一个很好的讨论

    对于每个文件,一个 HTTP 请求被发送到服务器,并且 然后浏览器等待响应 在请求下一个文件之前。 浏览器的限制(或限制) 通常防止并行下载。 这意味着对于每个文件,您 等待请求到达 server,要处理的服务器 请求和答复(包括 文件内容本身)来联系您。放 端到端,其中一些可以使 页面加载时间差异很大。

    【讨论】:

      【解决方案2】:

      实际上,有这么多引用文件是个坏主意。性能问题的基本思路是尽量减少 HTTP 请求(至少在您的生产服务器上)。看看这个http://developer.yahoo.com/performance/rules.html#num_http

      【讨论】:

        【解决方案3】:

        有没有人有一个聪明的 nant 脚本可以为你做到这一点?我编写了一个自定义的 nant 任务,它使用 YUI 压缩器来缩小我的 css 和 js,但是添加组合会很有用。大家是怎么处理的呢?

        【讨论】:

          【解决方案4】:

          我不知道你在服务器端使用什么框架(如果有的话),但是 Ruby on Rails 有一个脚本包含函数,它可以根据设置(例如测试或生产)创建大量脚本标签(通常是测试模式)或创建一个标签,将所有脚本连接成一个(可选地用一些插件压缩)文件。我相信许多其他框架也支持这样的东西。

          更新:我只记得: 您也可以手动压缩(通过去除空格和 cmets、缩短变量名等)并将 javascript 文件和 CSS 文件与 Yahoo! UI Library: YUI Compressor 结合起来。在压缩之前确保你的 JavaScript 是正确的,试试JSLint

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-02-16
            • 1970-01-01
            • 2019-09-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-10-31
            • 1970-01-01
            相关资源
            最近更新 更多