自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

知之为知之,不知为不知

及时总结,颗粒归仓;锐意进取,与时俱进。

  • 博客(298)
  • 资源 (5)
  • 收藏
  • 关注

原创 global.d.ts 无效问题解决

解决 global.d.ts 不生效问题

2024-04-10 11:18:56 2291 1

原创 H5移动端 Vue3 + vue-virtual-scroller 实现长列表性能优化

移动端在渲染长列表时 大量dom节点的渲染和重绘重排会导致页面卡顿、滚动不流畅、设备耗电加快、影响移动设备电池寿命等性能问题;这里分享使用【虚拟滚动-渲染可视区域】方案进行长列表优化,以Vue3为例,使用 `vue-virtual-scroller`实现性能优化

2024-04-01 23:18:17 3613

原创 在 javasctipt 中,如何实现 $t(‘a.b.c‘) 转换为访问变量

【代码】在 javasctipt 中,如何实现 $t(‘a.b.c‘) 转换为访问变量。

2024-01-28 16:03:31 417

转载 在vscode中切换分支,仍旧显示已经删除的远程分支

然后远程的已经删除的分支就不见了。运行命令:修剪远程分支。

2023-11-28 14:04:23 1069

原创 动态页面调研及设计方案

预览:https://mrhj.gitee.io/form-generator/#/预览:https://jjxliu306.github.io/ng-form-element/dist/index.html文档:https://www.kancloud.cn/jjxliu306/ng-form/3191385https://vform666.com/预览:http://120.92.142.115/文档:https://www.yuque.com/visualdev/vform/预览:https://ww

2023-11-20 22:44:47 822

原创 前端面试考核点【更持续新中】

Script放在body中间会阻塞吗?defer与async的区别?10. 1. 常用 Composition API。DOM和CSSOM的构建会相互影响吗。解决【v-show 有时失效】问题。vue 父子组件的生命周期顺序。自定义组件的 v-model。服务端 express、koa。vue2响应式原理之依赖收集。Node.js 中间件机制。10. 3. 数据通讯方式。vue中的diff算法。nodejs 方面的研究。nodejs管理工具。

2023-11-20 16:32:58 382

转载 VsCode配置Eslint+Prettier结合使用详细配置步骤,规范化开发

vsCode配置Eslint + Prettier结合使用详细配置步骤,规范化开发

2023-08-20 15:20:54 15639 1

原创 Javascript 创建只读变量

只读属性是JavaScript中一个非常常用的特性,它可以用于保护对象的属性、设置默认值、以及优化代码性能等方面。通过合理地运用只读属性,我们可以使程序更加安全、稳定和高效

2023-06-26 19:58:12 634

转载 Electron官方实验工具Electron Fiddle

说明Electron Fiddle已将这三个面板的代码保存到你系统的缓存目录中了,你可以通过File菜单的Save As功能修改默认保存文件的目录。这三个文件就可以创建一个最简单的Electron应用程序,你可以在这三个面板中任意修改编辑这三个文件,编辑完成后,运行。处显示的文件为窗口界面文件,在此文件中通过require的方式引入了另一个文件renderer.js,此文件显示在。启动程序时,Electron Fiddle会帮你默认选择一个Electron的版本,如果你希望切换版本,可以点击。

2023-06-25 19:54:22 853

转载 每个前端工程师都应该了解的图片知识

本文详细的介绍了常见的图片格式:GIF、JPEG、PNG、WebP、APNG、SVG,介绍了他们是什么,有什么用,优点和缺点,以及使用场景。由于图片相关的知识确实太多了,我只是把一些我觉得必要的写出来,下面在网上找到了一个选择图片过程的表格和图,下次不知道选择什么图片格式,直接看图就行。

2023-06-10 18:25:43 344

转载 【Nodejs】事件循环机制

1. timer 阶段:处理 setTimeout、setInterval 的回调,由 poll 阶段控制2. I/O callbacks 阶段:处理系统级别的回调。eg: TCP 连接失败的回调…3. idle, prepare 阶段:仅 Node 内部使用,可以忽略4. poll 阶段:处理 I/O 操作的回调;5. 事件循环空闲时,会在此阶段暂停,以等待新的回调加入6. check 阶段:执行 setImmediate 的回调7. close callbacks 阶段:执行关闭请求的回调。

2023-06-09 10:15:29 1280

原创 React Fiber 使用 MessageChannel + requestAnimationFrame 模拟实现 requestIdleCallback

由于 requestIdleCallback 兼容性较差且不支持 Safari,React Fiber 需要实现一个 requestIdleCallback polyfill 做浏览器兼容;

2023-06-07 22:31:46 1294 1

原创 webpack 实现 BannerWebpackPlugin

BannerWebpackPlugin 插件用于给打包产物头部添加注释文本

2023-05-25 13:54:13 355

原创 webpack 实现 CleanWebpackPlugin

手写CleanWebpackPlugin,用于删除/清理构建文件夹。

2023-05-25 01:47:16 316

原创 webpack 实现 CopyWebpackPlugin

CopyWebpackPlugin 将已经存在的单个文件或整个目录复制到构建目录。

2023-05-25 00:52:48 1394

原创 webpack 自定义loader

让我们实现一些简易的loader,从大量的简易loader的实现过程中学习编写如何 webpack loader

2023-05-23 00:47:22 892 1

转载 web监控数据上报方案

1.上报轻量级的数据时可以采取image src属性进行上报;2. 特定场景需要采集大量级的数据可以改用普通post请求方式;3. 在需要监测用户关闭浏览器时上报数据,首选采用beaconApi方式,若用户的当前浏览器不支持该方法,可降级为image方案。目前很多大厂已采用这种混合式埋点方案。

2023-05-13 16:54:27 625

转载 如何进行 web 性能监控?

我们可转化为三个方面来看:响应速度、页面稳定性、外部服务调用。响应速度:页面初始访问速度 + 交互响应速度;页面稳定性:页面出错率;外部服务调用:网络请求访问速度;

2023-05-13 16:23:40 2568

转载 前端异常监控解决方案研究

前端监控包括行为监控、异常监控、性能监控等,本文主要讨论异常监控。一般而言,一个监控系统,大致可以分为四个阶段:日志采集、日志存储、统计与分析、报告和警告。

2023-05-12 23:32:12 2169

转载 React Fiber 架构详解

1.Fiber出现的目的是什么;2. 在Fiber出现之前React存在什么问题;3. 虚拟 DOM 是如何被转换为真实 DOM 的?4. Fiber 如何解决性能问题;5. 什么是 Fiber?1. Fiber 是一个执行单元;2. Fiber 是一种数据结构;6. Fiber 的工作方式;7. 实现 Fiber;8. 构建 Fiber 链表;

2023-05-09 02:23:39 2502

转载 vue中的diff算法

diff算法就是进行虚拟节点对比,并返回一个patch对象,用来存储两个节点不同的地方,最后用patch记录的消息去局部更新Dom。

2023-05-08 00:49:57 1821

转载 Web前端最新优化指标:FP、FCP、FMP、LCP、TTI、CLS、FID、FPS等

Web前端最新优化指标:FP、FCP、FMP、LCP、TTI、CLS、FID、FPS等;加载性能指标、可交互时间、稳定性指标、流畅性指标

2023-05-05 22:45:27 5275

转载 DOM和CSSOM的构建会相互影响吗

CSSOM会阻塞渲染,只有当CSSOM构建完毕后才会进入下一个阶段构建渲染树。通常情况下DOM和CSSOM是并行构建的,但是当浏览器遇到一个script标签时,DOM构建将暂停,直至脚本完成执行。但由于JavaScript可以修改CSSOM,所以需要等CSSOM构建完毕后再执行JS。

2023-05-04 10:00:29 660

转载 测量JavaScript函数的性能各种方式对比

测量执行一个函数所需的时间总是一个很好的办法,证明某些实现比另一个实现的性能更好。这也是一个很好的方法,可以确保性能没有在某些改变后受到影响,也可以追踪瓶颈。

2023-05-04 00:58:30 391

原创 JS 中的 performance,测量web应用性能

Web Performance API 允许网页访问某些函数来测量网页和 Web 应用程序的性能

2023-05-03 23:43:15 1673

转载 requestAnimationFrame,读懂这篇文章就够了

requestAnimationFrame 请求动画帧;它是一个浏览器的宏任务;requestAnimationFrame的用法与setTimeout很相似,只是不需要设置时间间隔而已。requestAnimationFrame使用一个回调函数作为参数,这个回调函数会在浏览器重绘之前调用。它返回一个整数,表示定时器的编号,这个值可以传递给cancelAnimationFrame用于取消这个函数的执行

2023-05-03 13:27:21 2070

原创 React的diff算法

React的diff算法是一种快速而高效的算法,用于计算需要更新的组件节点。通过这个算法,React能够高效地计算出需要更新的节点,并最小化操作,提高更新的性能。同时,由于React能够快速找到需要更新的节点,因此也能够保证应用的性能和响应速度。

2023-04-26 16:04:57 294

转载 深入浅出 React:虚拟 DOM Diff 算法解析

DOM Diff 算法的两个假设:1. 两个相同组件产生类似的 DOM 结构,不同的组件产生不同的 DOM 结构;2. 对于同一层次的一组子节点,它们可以通过唯一的 id 进行区分。

2023-04-21 01:00:51 815

转载 JavaScript的五种排序方法

JavaScript的五种排序方法,冒泡排序、选择排序、插入排序、归并排序、快速排序

2023-04-19 21:13:29 3654

转载 前端性能优化

前端性能优化手段从以下几个方面入手:加载优化,执行优化,渲染优化,脚本优化、代码优化

2023-04-18 23:35:09 512

原创 package-cli-service,为构建发布npm包提供完整的工作流

【package-cli-service】为构建发布 npm 包的全流程提供了完整的工作流,。它是构建于rollup、 webpack之上的。它包含了:一个针对绝大部分应用优化过的内部的 rollup 配置;它提供了 serve-example、build-example、lint、fix、analyzer、build 、pub 、serve-storybook、build-storybook 等命令

2023-04-10 22:00:50 404

原创 create-package-tools,构建 npm 包,支持react、vue、js

create-package-tools 是创建 package 项目的cli,支持react、vue、js。它的 CLI 服务 package-cli-service 为构建发布 npm 包的全流程提供了完整的工作流

2023-04-10 21:47:19 142

转载 webpack-chain

webpack 的核心配置的创建和修改基于一个有潜在难于处理的 JavaScript 对象。虽然这对于配置单个项目来说还是 OK 的,但当你尝试跨项目共享这些对象并使其进行后续的修改就会变的混乱不堪,因为您需要深入了解底层对象的结构以进行这些更改。webpack-chain 尝试通过提供可链式或顺流式的 API 创建和修改webpack 配置。API的 Key 部分可以由用户指定的名称引用,这有助于 跨项目修改配置方式 的标准化。

2023-03-15 20:41:00 3510

转载 package.json 中的 browser、module、main 字段使用探索

main : 定义了 npm 包的入口文件,browser 环境和 node 环境均可使用;module : 定义 npm 包的 ESM 规范的入口文件,browser 环境和 node 环境均可使用;browser : 定义 npm 包在 browser 环境下的入口文件;

2023-03-13 21:18:42 3081

原创 HTTP缓存

HTTP 缓存策略分为两种: 强缓存 和 协商缓存 ,这两种缓存策略都是服务端设置 HTTP Header 来实现的

2023-03-04 21:04:53 713

转载 HTTP 状态码

200:请求成功;301:资源(网页等)被永久转移到其它URL;404:请求的资源(网页等)不存在;500:内部服务器错误;

2023-03-04 18:11:42 158

原创 在构造函数里定义 function 和使用 prototype.func 有什么区别?

this.func 与 Fn.prototype.func

2023-03-01 21:52:03 143

原创 动态加载script资源

动态加载script资源

2023-02-27 21:45:35 613

原创 软件版本控制规范

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:· 主版本号:当你做了不兼容的 API 修改;· 次版本号:当你做了向下兼容的功能性新增;· 修订号:当你做了向下兼容的问题修正;先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

2023-02-08 11:05:52 3676

原创 webpack 编写插件

webpack 插件由以下组成:一个 JavaScript 命名函数或 JavaScript 类。在插件函数的 prototype 上定义一个 apply 方法。指定一个绑定到 webpack 自身的事件钩子。处理 webpack 内部实例的特定数据。功能完成后调用 webpack 提供的回调。

2023-02-01 21:21:36 727

删除谷歌广告的chrome浏览器插件

删除谷歌广告的chrome浏览器插件

2022-03-02

react使用高德地图react-amap:Markers、Circle、ContextMenu、自定义ContextMenu

react使用高德地图react-amap:Map、Markers、Circle、ContextMenu、自定义ContextMenu

2021-09-29

VueWebuploader.zip

大文件分配断点续传

2021-09-08

Canvas饼状图、绘制文字、绘制图像.zip

Canvas饼状图、绘制文字、绘制图像

2021-08-27

手写-全选案例demo

手写-全选案例

2021-08-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除