Vue.js 是最新的 JavaScript 库,在全球 Web 开发人员中迅速流行。也许由于这种新颖性,在使用它构建应用程序时遇到性能问题仍然很常见。然而,其中大多数问题都可以很容易地解决。
在本指南中,我们将回顾创建基于 Vue.js 的应用程序以实现最佳性能时需要记住的关键事项。
为什么 Vue.js 如此受欢迎?它确实与 Angular 和 React 等更成熟的框架存在一些竞争。事实上,Vue.js vs React vs Angular 的讨论似乎没有尽头。公平地说,这三个 JavaScript 框架中的每一个都可以成为构建前端解决方案的不错选择。
当我们处理大型企业级项目时,Angular 被认为是首选。React 因其扩展的生态系统而受到赞誉。Vue.js 通常被视为最轻且对开发人员最友好的选择。
然而,在选择技术堆栈时,不允许做出不确定的决策。 这些共同意见可能是一个很好的指示,但最终选择取决于您的特定场景。
由于Vue Storefront基于Vue.js,这是我们提倡的选项。在这里,我们将讨论为什么会这样、它适合哪些用例,以及如何充分利用它,以便您的电子商务商店以最佳状态运行。
Vue.js 是最年轻的 JavaScript 框架。它是由谷歌前员工于 2016 年开发的。它的独特之处在于它结合了 Angular 和 React 的一些最佳功能,但在创建现代无头网站和 Web 应用程序方面却非常简单。
速度和效率是 Vue 的主要优势,这决定了它对于单页和多页项目的选择,在这些项目中,卓越的加载速度非常重要。
绝对可以。Vue 被认为是最灵活且相对简单的超轻框架,提供闪电般的站点性能。完整的库仅重约 18 至 23 KB,对于提高网站性能有显著影响。不用说,在电子商务中,这一点至关重要,这就是我们在 Vue Storefront 中使用这个框架的原因。
Vue Storefront 是一个提供大量开箱即用功能的框架,但它没有定义网上商店必须如何运行和外观。零售商可以使用默认功能,随时自定义它们,或选择混合模型。
Vue Storefront 提供了灵活性和更短的上市时间的完美结合。该设计提供了所有基于 PWA 的业务逻辑,但商家仍然可以完全控制其商店的外观和“行为”。
选择Vue Storefront会为添加第三方服务提供多种选项,如无头CMS、搜索、支付、忠诚度计划等。无论您需要的服务是否已经在市场上提供(在这种情况下,我们提供本地集成),还是必须从头开始。
Vue Storefront 基于最简单的 JS 框架 Vue.js,这种选择可确保闪电般的网站性能并对开发人员体验产生积极影响。
与大型商店合作,我们发现 Vue.js 的大规模性能与其他框架一样。它在微服务架构中非常有效,它允许您快速且不间断地进行必要的更改。
虽然 Vue 应用程序在处理大量请求时确实会遇到困难,但这通常是由于优化不佳造成的。当您处理一个以其轻量和超快速度而闻名的库时,很容易忘记您需要检查和优化成品。
为了发挥最佳性能,Vue 应用程序需要采用智能方法来配置和第三方组件。忽视这一点可能会导致应用程序的加载速度出现严重问题,并可能导致客户放弃您的商店。
电子商务商店中的常见性能问题
在电子商务中使用 Vue.js 时可能遇到的问题与 Web 性能的典型问题非常相似。框架是达到目的的一种手段,但如果您忽视基础知识,即使是最好的解决方案也是不够的。
那么,性能低下的电子商务应用程序通常会出现哪些问题?
加载时间过长
您的应用程序显示页面所需的时间可能是您的电子商务收入的直接主要贡献者。 客户只是不想等待您的页面加载。如果他们看不到自己想要的东西,他们就会去其他地方。
在电子商务中,时间确实就是金钱,因此花一些时间来实现性能提升将节省宝贵的微秒数,从而使用户可以将时间花在完成交易上。
设备兼容性差
您已经构建了您的应用程序,它在您的设备上运行速度快并且看起来很漂亮。 但你的页面指标却讲述了一个不同的故事。跳出率很高,页面加载时间也很高,而且似乎有很多废弃的购物车。发生了什么?
一个经常被忽视的事实是,开发人员通常比许多用户拥有更好的工具。 您需要一台功能强大的机器来编译代码,但您的客户访问应用程序的设备可能不会那么先进。它甚至可能不是一台台式电脑或笔记本电脑,而是一部手机,而且还是一部旧手机。这就是为什么您需要确保您的应用程序在较慢的连接和较旧的硬件上正常运行。
大媒体文件
连接速度较慢的另一件事是,它们很容易使您无法查看应用程序。 如果您的应用程序资源较多,例如加载多个大图像,则低带宽将无法处理它们,因此您的产品根本不会显示。
如果不优化图像,您就会将受众范围缩小到最低限度,并且会因为页面加载缓慢而烦恼。
现在您知道为什么在使用 Vue.js 时需要考虑优化,让我们看一下一些解决方案。在这一部分中,我们将看看从哪里开始进行性能优化。
检查Core Web Vitals
您无法纠正你不知道的错误。 这就是为什么您应该首先使用查看 Core Web Vitals 的专用工具来检查网站的性能。它们表明您的网站在各种设备上查看时的可访问性和可用性。
要检查网站的性能,您可以使用多种工具,例如 Google Lighthouse、Google Search Console 或 PageSpeed Insights。只需输入页面的网址并查看报告即可查看您网站的得分以及使您的网站更加用户友好的提示。
请记住,没有任何工具是完美的,有时可能会增加几毫秒加载时间的功能实际上对您的商店至关重要。 这就是为什么在获得高分时你不应该追求绝对完美。消除最重要的问题就足够了。
实施服务器端渲染(SSR)
许多 Vue 应用程序都是作为单页应用程序 (SPA) 构建的。简而言之,应用程序的内容是在调用时直接构建并显示在浏览器中的。
虽然这种方法有一些优点,但您可能需要考虑服务器端渲染 (SSR) 模式以加快加载速度。在这种模式下,应用程序内容首先在服务器上构建,以静态形式发送到浏览器,并在客户端完成。
SSR 方法对电子商务特别有利,因为它节省了加载商店页面的宝贵时间。它还有助于提高您的 SEO 排名,因为加载缓慢的 JavaScript 可能会扰乱网站抓取。
然而,重要的是要知道,SSR 会给服务器内存使用带来额外的压力,因此您需要确保具有适当的可扩展性。这对于大容量商店和人流量大的时候尤其重要,例如季节性销售或促销。
优化视觉资产
大型媒体文件是现代网站的祸根,这似乎是最明显的一点,也许正是因为这个原因,它们经常被忽略。 您的电子商务 Vue 应用程序无疑将具有许多视觉资产,例如产品图像。它们本身会占用大量内存和带宽,从而减慢页面速度。这就是为什么通过压缩图像来尽可能减小文件大小很重要。
那么,图像什么时候会出现瓶颈呢?
• 当它太大时(分辨率或未优化的图像)
• 当它加载时,即使它在屏幕上不可见
如今,这两个问题都很容易解决,绝对没有理由不优化图像。 只需要一点时间。——Filip Rakowski,Vue Storefront CDXO 兼联合创始人
前端资源的另一个技巧是尽可能限制渲染。 例如,使用 v-once 函数,您可以将资源呈现为静态 HTML,从而减少服务器负载并降低带宽使用。
使用延迟加载来减少捆绑包大小
即使单页应用程序也可能很复杂,包含多个元素,从而给用户的设备和服务器带来很大的压力。 默认情况下,浏览器将预取整个应用程序的组件以显示所有可用资源。
避免这种情况的一个简单技巧是实现延迟加载。 这样,您的应用程序将仅在必要时显示后续组件,而不是呈现整个内容。
使用修饰符优化事件处理
根据定义,电子商务的 Vue 应用程序将处理许多事件。它必须能够处理大量的用户交互。这就是为什么查看事件处理至关重要。默认操作可能会给您的商店带来额外的负载,从而影响应用程序的性能。以正确的方式使用事件处理程序将帮助您避免此问题。
在优化事件处理方面检查源代码对于确保商店的更好性能大有帮助。 一种方法是使用事件修饰符。它们增强了默认事件操作,指定应用程序对特定事件的反应。
例如,您可以添加 .once 修饰符,防止页面元素(例如静态标头)的多次呈现。当您希望用户输入订单详细信息但不想在每个结账步骤重新加载整个页面时,预防修饰符对于表单特别有用。这些微小的变化将加快客户的浏览和购买体验,从而为他们带来巨大的改变。
限制不必要的组件抽象
当您构建需要大规模运行的 Vue 应用程序时,这一点非常重要。在编写源代码时,抽象或创建高阶组件实例可以非常高效。它可以是在应用程序前端组织资源的一种优雅方式。
例如,如果您在电子商务商店销售鞋子,则可以使用子组件轻松显示每个型号的不同颜色或尺寸。 然而,这里的问题是,与使用 DOM 节点相比,这种方法会导致较高的内存使用量。
虽然对于小型应用程序来说这不是问题,但如果您的抽象运行到数十个或数百个,则每一个抽象都会大大节省服务器容量。 这就是为什么值得检查您的组件并确保不保留不必要的选项。
最佳性能从源头(代码)开始
现在您已经了解了Vue 应用程序性能优化的基本技巧。通过在设计阶段遵循这些原则,您将确保您的新应用程序顺利运行。
与大多数事情一样,照顾好要点并遵循良好的做法将为您带来最佳结果。 如果您正在寻找有关提高 Vue 商店性能的更多建议,请下载下面的免费指南。