自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 v-permissions 指令封装(vue3+ts+pinia)

在项目中常见需要权限控制 通常一个组件内部封装好了不同的功能按钮,但是对于不同角色提供的权限不同,所有需要进行相应的全局组件封装 这类操作还有图片懒加载的指令,防抖,节流的指令。pinia里面存储用户的permission这个就根据自己的后端返回来决定了,需要注意一点 就是在使用指令时传入的值需要与后端返回的值对应好,先创建一个 directive文件夹,创建index.ts 文件 (如果有多个指令 建议继续创建下一级文件夹存放对于的代码,便于维护)创建同级文件 permission.ts。

2025-07-03 17:48:04 323

原创 webpack性能优化-减少代码体积

此文为笔记内容。

2025-05-09 23:50:42 594

原创 webpack性能优化-构建速度

此文为笔记总结。

2025-05-09 17:19:15 337

原创 docx-preview组件库使用记录

已废弃

2025-04-10 15:47:02 572

原创 页面加载白屏时间长的原因有什么,页面白屏如何优化?

浏览器下载HTML后,首先解析头部代码,进行样式表下载,然后继续向下解析HTML代码,构建DOM树,同时进行样式下载。理想情况下,样式表下载速度够快,DOM树和CSSOM树进入一个并行的过程,当两棵树构建完毕,构建渲染树,然后进行绘制。页面渲染的时间越短,用户等待的时间就越短,用户感知到页面的速度就越快。这样可以极大的提升用户的体验,减少用户的跳出,提升页面的留存率。当CSS样式文件没有下载完成时,浏览器解析HTML遇到了内联JS代码,此时,浏览器暂停JS脚本执行,暂停HTML解析。

2025-04-04 16:44:31 498

原创 项目中常用的 .env 文件原理是什么?如何实现?

用 fs.readFileSync 读取 .env 文件,并解析文件为键值对形式的对象,将最终结果对象遍历赋值到 process.env 上。dotenv 把环境变量加载进 process.env 对于前端项目来说还不够,因为浏览器环境是访问不到 process 的,需要通过 webpack 的 DefinePlugin 在构建阶段把变量替换为对应的值。完善报错输出,用户写的 env 文件自由度比较大,所以需要容错机制。果需要使用变量,则配合如下扩展包使用。文件在我们项目中非常常见,在。

2025-04-04 16:42:03 280

原创 实战项目中,常用的TS

TypeScript 中的映射类型(Mapped Types)是一种非常强大的类型操作符,它可以根据一个已有的对象类型,生成一个新的对象类型。声明文件(Declaration File)是一种特殊的类型文件,用来描述外部 JavaScript 库、模块或对象的类型,以便在 TypeScript 代码中正确引用和使用它们。类型守卫(Type Guards)是 TypeScript 中用来检测类型的一种机制,它可以帮助开发者在运行时检测某个变量的类型,并在不同的条件下提供不同的类型声明。

2025-04-04 16:01:30 2006

原创 原生前端实现电子签名(可下载png图片)

【代码】原生前端实现电子签名(可下载png图片)

2025-04-04 15:41:54 160

原创 详解 Chrome V8 引擎

D8 是一个非常有用的调试工具,你可以把它看成是的缩写。我们可以使用 d8 来查看 V8 在执行 JavaScript 过程中的各种中间数据,比如作用域、AST、字节码、优化的二进制代码、垃圾回收的状态,还可以使用 d8 提供的私有 API 查看一些内部信息。V8源码编译出来的可执行程序名为d8。d8作为V8引擎在命令行中可以使用的交互shell存在。Google官方已经不记得d8这个名字的由来,但是做为的缩写,用首字母d和8结合,恰到好处。

2025-04-04 15:03:44 2805

原创 TS 构建二叉树,实现 先序,中序,后序,层次遍历

1.此文为个人复习使用,不讲解原理,只贴代码。欢迎探讨学习,共同进步。

2025-03-21 21:35:02 238

原创 手写Promise实现所有功能,并通过A+测试

resolve('成功')reject('失败')})控制台打印结果:通过constructor 构造出一个函数,用来接收传进来的回调函数,并执行回调函数。

2025-03-19 23:56:01 736 1

原创 Generator 解读

Generaor由生成器函数返回并且他符合和在执行时能真暂停,后面又能从暂停处继续执行。

2025-03-19 13:33:24 183

原创 手搓源码之-手写call(),apply(),bind()方法

手写Call,bind,apply 方法

2025-03-18 23:09:14 497 2

原创 1. TS创建与运行。

复习过程中TS学习一些个人见闻和收集好的文章供时刻复习巩固

2025-03-16 18:57:33 243

原创 MySQL 安装常见问题处理,包括解决办法,软件下载。

因为我们这样删除并不是彻底删除,如果记得住密码就完全没问题,后面重新登录时需要check密码,才能继续后续操作。这个文件夹里面存的是我们的密码和数据库设置,但这个文件夹是隐藏的,如果要删除,还是用everthing 查找到这个文件 然后删除就行了。(如果先删掉文件夹,可能存在图下标记的软件无法删除)。然后退回去的时候,重新点击这个安装界面就行了,如果不小心多退了下,则会出现以下情况,提示端口已使用。然后输入以下代码,回车,会提示成功删除,这时候就能正常解决了,然后继续按照步骤按照。2.然后进行权限修改。

2024-04-25 20:43:27 2053 2

MySQL windo系统安装8.0以上版本 文档

MySQL安装保姆级教程,通过这个文档,你可以了解包括安装,卸载,配置path 变量,安装错误解决问题。 并成为一个初级了解MySQL安装卸载应用的人

2024-06-22

空空如也

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

TA关注的人

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