vue项目优化 webpack配置层面优化 前端性能优化

vue项目优化

Vue代码层面优化

v-for 遍历列表
指定非下标的唯一key, 尽量不用index, 如果只用于展示就没关系 不同时使用 v-if
图片资源懒加载
使用vue-lazyload element-ui/vant-ui Image组件本身就有懒加载的功能
路由组件懒加载 ==> 预加载
第三方插件的按需引入打包
element-ui / vant /lodash
对高频事件进行节流或防抖处理
及时销毁事件监听
大数组优化
冻结响应式数据
虚拟列表

对于图片过多的页面,为了加速页面加载速度,所以很多时候我们需要将页面内未出现在可视区域内的图片先不做加载, 等到滚动到可视区域后再去加载。这样对于页面加载性能上会有很大的提升,也提高了用户体验。我们在项目中使用 Vue 的 vue-lazyload 插件

Vue 会通过 Object.defineProperty 对数据进行劫持,来实现视图响应数据的变化,然而有些时候我们的组件就是纯粹的数据展示,不会有任何改变,我们就不需要 Vue 来劫持我们的数据,在大量数据展示的情况下,这能够很明显的减少组件初始化的时间,那如何禁止 Vue 劫持我们的数据呢?可以通过 Object.freeze 方法来冻结一个对象,一旦被冻结的对象就再也不能被修改了。

webpack配置层面优化

浏览器兼容处理

JS: @babel/polyfill => core-js配置useBuiltIns: ‘usage’
CSS: 给C3样式自动添加浏览器厂商前缀 => autoprefixer => postcss-loader

拆分打包与压缩
资源预加载(prefetch)

生产环境时不生成 SourceMap

Source Map 就是一个信息文件,里面存储了代码打包转换后的位置信息,实质是一个 json 描述文件,维护了打包前后的代码映射关系。

文件名hash化=>利用浏览器缓存
代码Tree Shaking

tree shaking就是当我们在项目中引入其他模块时,他会自动将我们用不到的代码,或者永远不会执行的代码摇掉

基础的Web技术层面的优化

对打包文件开启 Gzip压缩
静态资源(css/js/img)使用CDN引入

前端性能优化

SEO (Search Engine Optimization):直译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎的自然排名。

目的是:为网站提供生态式的自我营销的解决方案,让其在行业内占据领先地位,获得品牌效益。

  • 简化代码结构,更利于搜索引擎分析抓取有用内容

  • 重要内容优先加载

  • 语义化 HTML 代码 ,符合 W3C 标准

  • 重要内容不适用 js 输出

  • 少用 iframe :搜索引擎不会抓取 iframe 中的内容

  • 图片加 alt 属性

  • 适用网站统计功能优化

  • 每个页面只出现一个 h1 标签,h2 可以出现多次

页面级优化:

  • 使用CDN

  • 减少 HTTP 请求数

  • 设计从实现层面简化页面

  • 合理设置 HTTP 缓存

  • 资源合并与压缩

  • CSS sprites

  • 内联图像 雪碧图

  • 图片懒加载

  • 将外部脚本置底

  • 预渲染

  • 懒执行

  • 懒加载 JavaScript

  • 将 CSS 放在 head 中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Webpack 是一个现代化的 JavaScript 静态模块打包器,主要用于构建 H5 网站。它可以将各种类型的资源(比如 JavaScript、样式表、图片等)进行模块化和打包,最终生成可以在浏览器中运行的静态文件。 使用 Webpack 构建 H5 网站有以下好处: 1. 模块化管理:Webpack可以将项目拆分为多个模块,每个模块可以独立开发、测试和维护。这样可以提高开发效率,并使代码更易于管理和复用。 2. 资源优化Webpack可以对项目中的静态资源进行优化,比如对 JavaScript 文件进行压缩、对图片文件进行压缩和合并等。这可以减少页面加载时间,提高用户体验和网站性能。 3. 代码分割和按需加载:Webpack可以将代码分割成多个块,实现按需加载。这样可以减少首次加载时间,并提高页面响应速度。 4. 代码转换和预处理:Webpack支持使用各种预处理器(比如Babel、Less、Sass等)对代码进行转换和处理。这可以让开发者使用最新的 JavaScript 特性或者其他前端技术,提高开发效率和代码质量。 5. 开发环境和生产环境的切换:Webpack支持开发环境和生产环境的配置和切换。在开发环境中,可以启用热模块替换(Hot Module Replacement)和调试工具,提高开发效率;在生产环境中,可以对代码进行优化和压缩,减少文件大小和加载时间。 综上所述,Webpack是一个非常强大的工具,可以帮助开发者高效地构建和管理H5网站。它可以优化资源、提高性能、提供模块化管理和代码转换等功能,使得项目开发更加便捷和高效。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值