【问题标题】:Is jQuery modular? How to trim it down?jQuery 是模块化的吗?怎么修剪呢?
【发布时间】:2010-05-25 15:44:45
【问题描述】:

Compressed, jQuery is ~70KB in size (uncompressed: >200KB). 我没有看到像 jQuery UI 那样排除很少使用的部分的方法。如何减少 jQuery 的(压缩和缩小)文件大小?我很担心,因为拨号线路和慢速机器/浏览器在我网站的用户中很常见。

我主要关心的是解析浏览器中 JavaScript 的持续时间。在较旧的机器上,这需要数百毫秒。网络传输是一次性成本,这使得它稍微更容易忍受。

【问题讨论】:

  • 但它是 24kb 压缩和 gziped...
  • ... 如果您使用 CDN 版本,它甚至比您所有用户的平均值还要小得多。就个人而言,我想知道浏览器开始烘焙它需要多长时间。

标签: jquery html jquery-ui javascript


【解决方案1】:

没有可以选择功能的服务(例如 JQuery UI)。但要帮忙:

  1. 缩小版小于 25k,这很有帮助。非缩小版本不应该真正下载到客户端机器上。
  2. 始终从同一位置引用它,客户端浏览器应缓存它。
  3. 您可以在您的 html 内容之后引用您的 javascript 库,这样初始加载对人类来说应该更快。
  4. 从与您的域不同的域引用您的 jquery 库,例如来自 google。 There are several advantages to this:
    • 很可能会在离您的客户更近的位置提供服务
    • 它增加了与其他资源并行下载的机会,尤其是对于一次只能从域下载 2 个项目的旧版浏览器。
    • 这增加了他们完全不必为您的页面加载 jQuery 的机会,因为它已经从这个常用站点缓存了。

【讨论】:

  • 我猜没有服务,因为大多数插件都依赖于所有功能。
  • jquery 2.0.2 缩小为 82 kb。太多了!
【解决方案2】:

您也可以let Google host jQuery为您服务,这样可以为您提供更好的缓存等。

【讨论】:

    【解决方案3】:

    有一个 jQuery builder 可以用来修剪 jQuery 的某些部分。

    【讨论】:

      【解决方案4】:

      24kb 的最小化和 gzip 压缩是不值得的,恕我直言。

      【讨论】:

        【解决方案5】:

        压缩后的版本是 24kb 压缩和 gzip 压缩的。 jQuery UI 是单独捆绑的,它是模块化的,并且有一个打包器,允许您选择要包含的 jQuery UI 的哪些部分。

        如果您从 google 或 microsoft CDN 引用它,那么它也会被缓存在浏览器中,不仅适用于您的网站,还适用于任何使用 CDN 的网站。

        【讨论】:

          【解决方案6】:

          无法确定更改的确切时间,但 JQuery 团队现在允许开发人员使用 Node JS 编译自己的 JQuery 构建。 NPM(现在实际上是 Node 的一部分)和 Grunt 是必需品。

          自定义构建过程似乎允许开发人员排除关键组件,如 .Ajax 和 .Effects 模块。

          详情可在 JQuery github 项目自述文件中找到。

          https://github.com/jquery/jquery

          【讨论】:

            【解决方案7】:

            jQuery 不是模块化的。即使使用拨号,我认为 24​​kb 也不是什么大问题。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-02-06
              • 2014-06-29
              • 1970-01-01
              • 2014-02-19
              • 2012-02-01
              • 2013-10-09
              相关资源
              最近更新 更多