`
shuishui8310
  • 浏览: 155284 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

magento -- 为Magento提速再做一点小努力之移除不需要的JS

阅读更多

Magento的速度一直是个让人头疼的问题,加大硬件投入是效果最明显的,当然程序层面还是要努力的优化。常见的优化方式就不多说了,不外乎开启gzip,关闭不需要的模块,装php加速器等等,网上有一篇已经被转载了无数遍的文章专门有讲到。今天讲到的是一些小手段,有多少效果还未知,不过至少不会变慢。

有些人可能会注意到,新安装的Magento项目,本身页面就载入了很多外置JS,这里以1.4.1.0为例,通过Firebug可以看到,在没有修改任何文件和添加任何数据的情况下,Magento首页就要载入13个外置JS,总计300K出头(不算Gzip压缩),可是Magento真的需要那么多JS吗,就算需要,那退一步讲,首页能用到的JS能有几个。首页的载入速度是网站速度中很重要的一环,一方面是因为这是用户看到的第一个页面,另一方面访问其他页面时,浏览器可以大量使用已经从首页读来的数据缓存,而不必重新完全载入,所以会比访问首页快得多。

所以我的方式就是想办法在首页去掉那些首页用不到的外置JS,减少请求数。经过不完全测试,针对我自己在做的项目,slider.js,dragdrop.js,builder.js和ccard.js对首页是无效的,移除后没有任何影响,同时据估计,如果首页用不到表单验证,validation.js应该也是没有用的(这个是大头,有34KB)。我并没有测试所有的JS,而且不同的项目有不同的首页,可能需求的JS也不同,只是提供一种思路,对页面无用的JS是没必要载入的。

如何只在首页不载入某些特定的JS,这里提供一种方式。我们知道,通用的JS文件是在layout目录下的page.xml中载入的,载入的方式如下

在head这个block中用<action method="addJs">的方式载入外部的JS文件,相对应的,我们同样可以用写xml的方式移除这些JS文件,方法如下

因为只是在首页移除这些JS,其他页面还是要用的,所以把这段xml写在后台首页的CMS里。点击进入后台首页的CMS,点击左边的Design,把移除JS的代码写在Layout Update XML里面,保存后就可以看到效果,首页已经不会再载入你移除掉的JS,而其它页面依然存在。

同样的方式除了首页其他页面也可以使用,如果有足够的耐心的话,至少内容少了,访问速度总是会有所提升,不管效果明不明显。

PS:类似的思路我之前发过一篇文章,因为Magento的核心库prototype.js有127KB之巨,而绝大多数人应该是不会去动核心库的代码的,所以可以把prototype.js压缩,然后替换掉原来的,类似于jquery会提供一个jquery.min.js。

http://blog.csdn.net/shuishui8310/archive/2010/03/28/5422257.aspx

分享到:
评论

相关推荐

    Magento-中文开发教程

    Magento-中文开发教程, 欢迎大家指出错误。 深入理解Magento-第一章 – Magento强大的配置系统 深入理解Magento-第二章 – Magento请求分发与控制器 深入理解Magento-第三章 – 布局,块和模板 深入理解...

    magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz

    magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz Include sample data

    magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz

    magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz 不带sample data

    Magento-SMTP-Email

    Magento的SMTP插件是为了克服默认邮件发送机制可能遇到的问题,如邮件被标记为垃圾邮件或无法送达。通过集成SMTP插件,商家可以使用自己的SMTP服务器,如Gmail、Yahoo、Microsoft Exchange等,确保邮件能够准确无误...

    Magento-中文开发教程.doc

    Magento是一款强大的开源电子商务平台,专为在线商家设计,提供丰富的功能和高度的可定制性。本教程将深入探讨Magento的使用、配置以及开发实践,帮助读者掌握这一强大的系统。 一、Magento的基础架构与安装 ...

    magento-java-master.zip_magento

    2. **JSON序列化与反序列化**:Magento API返回的数据通常是JSON格式,因此在Java中处理这些数据时,需要了解如何将JSON字符串转换为Java对象,反之亦然。Jackson、Gson或org.json等库可以帮助你完成这项工作。 3. ...

    Magento-Redismanager, 在 Magento,用于Redis的超级用户控制.zip

    Magento-Redismanager, 在 Magento,用于Redis的超级用户控制 Redis 管理Redis服务的实用程序特性系统&gt; 配置&gt;的自动或者手动配置高级&gt; Redis管理在负载均衡环境中缓存服务不同的理想情况直接从magento面板管理员管理...

    magento -redis 插件安装包

    Magento是一款强大的开源电子商务平台,而Redis则是一种高性能的键值数据存储系统,常用于缓存、session管理等场景。在Magento中集成Redis插件可以显著提升网站性能,降低数据库负载,尤其是在处理高并发请求时。...

    magento-演示数据1.6.1.0

    Magento是一款强大的开源电子商务平台,专为在线商家设计,提供丰富的功能和高度的可定制性。"magento-演示数据1.6.1.0"是一个专门为Magento 1.6.1.0版本准备的示例数据包,它包含了用于演示和测试 Magento 商店功能...

    magento-ce-2.4.2-p1-2021-04-22-10-49-09.zip

    因为国外网速太慢了,所以下载后分享给需要的人。magento-ce-2.4.2-p1-2021-04-22-10-49-09

    magento-1.8.0.0.tar.gz

    这个版本的发布在2013年,它为商家提供了一个强大而灵活的在线销售系统,具有丰富的功能和高度可定制性。 一、Magento的架构与特点 1. **模块化结构**:Magento采用模块化设计,允许开发者通过安装、卸载和禁用模块...

    magento-1.9.1.1-2015-04-30-12-49-08

    关于压缩包子文件的文件名称列表,只有一个"magento",这通常意味着压缩包包含整个Magento的源代码结构,包括但不限于以下几个关键部分: 1. `app/`:包含Magento的核心代码、模块和主题。 2. `skin/`:存储前端的...

    magento-1.7.0.7z

    Magento 1.7.0 是一个非常重要的电子商务平台版本,由Magento公司开发,它提供了全面的网上商店解决方案,包括商品管理、订单处理、支付集成、客户管理等核心功能。这个7z压缩包“magento-1.7.0.7z”包含了用于安装...

    Ajax-magento2-catalog-infinite-scroll.zip

    Ajax-magento2-catalog-infinite-scroll.zip,免费的Magento 2扩展,为目录添加无限滚动功能(通过AJAX实现)编码教程,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。...

    Magento 给产品描述关键字批量链接插件

    如何给产品描述里的关键字...可是由于需要,不得不自己开发一个这样的插件。并支持到Magento1.6.2 说明请查看:http://www.hicoogle.com/magento-gei-chan-pin-miao-shu-guan-jian-zi-pi-liang-lian-jie-cha-jian.html

    PyPI 官网下载 | magento-0.6dev.tar.gz

    标题中的"PyPI 官网下载 | magento-0.6dev.tar.gz"指的是Python Package Index(PyPI)上的一个项目,它是一个名为"Magento"的软件包的特定版本,即0.6dev。PyPI是Python开发者发布和分享他们自己创建的Python库或...

    Magento-CE-2.3.4_sample_data-2020-01-22-11-11-58.tar.gz

    Magento-CE-2.3.4_sample_data-2020-01-22-11-11-58.tar.gz源自官网

    Ajax-Magento-ajax-add-to-cart.zip

    Ajax-Magento-ajax-add-to-cart.zip,[模块magento 1]magento ajax添加到购物车-ajoter vos produits au panier en ajax/感谢ajax将您的产品添加到购物车,ajax代表异步javascript和xml。它是多种web技术的集合,包括...

    magento-stock-movements, Magento扩展,节省产品库存.zip

    magento-stock-movements, Magento扩展,节省产品库存 节省你的Magento产品的库存 特性将库存移动保存在产品修改页面的新标签中安装 Magento 1.5. x, 1.6. x, 1.7. x, 1.8. x, 1.9.x使用 modgit 安装:$ cd/pat

    magento-coding-standard:Magento编码标准

    在Magento 2站点内安装要在您的Magento 2项目中使用,可以使用: composer require --dev magento/magento-coding-standard 出于安全考虑,以这种方式安装时,无法自动添加phpcs的Magento标准。 您可以通过将以下...

Global site tag (gtag.js) - Google Analytics