- 博客(158)
- 收藏
- 关注
原创 git revert 用法实战:撤销一个 commit 或 merge
常规的 commit (使用 git commit 提交的 commit)merge commit
2025-03-24 23:16:33
948
原创 react 父组件调用子组件方法:forwardRef + useImperativeHandle
【代码】react 父组件调用子组件方法:forwardRef + useImperativeHandle。
2025-03-01 23:34:38
227
原创 使用 patch 修改第三方依赖包源码
在实际开发中,可能会遇到第三方依赖出现BUG,提交PR等待官方修复比较耗时,此时可以考虑直接修改项目第三方依赖包的代码来解决问题比较符合实际。本文主要介绍 pnpm patch、pnpm patch commit 打补丁的方式来实现。
2024-09-05 22:57:01
406
原创 Shadow Dom 是什么
*核心:**影子 DOM(Shadow DOM)允许你将一个 DOM 树附加到一个元素上,并且使该树的内部**对于在页面中运行的 JavaScript 和 CSS 是隐藏的
2024-09-04 23:06:58
667
转载 vscode 创建 vue 模板的快捷键配置
vscode - 首选项 - 配置代码片段。搜索 vue ,进入 vue.json。新打开 vue 文件 即可使用快捷键。
2024-08-21 22:21:44
400
原创 vite + react 配置路径别名报错:找不到名称‘__diename‘ 、找不到模块path或其对应类型声明、找不到模块“@/xxx“或其对应类型说明
【代码】vite + react 配置路径别名报错:找不到名称‘__diename‘ 、找不到模块path或其对应类型声明、找不到模块“@/xxx“或其对应类型说明。
2024-08-12 23:35:15
401
原创 Vue3:【props、emit 和 components】 在 setup 语法糖和非语法糖中的使用
Vue3:【props、emit 和 components】 在 setup 语法糖和非语法糖中的使用
2024-08-03 12:28:36
853
原创 CSRF Token 原理
CSRF 攻击成功的关键是,恶意网站让浏览器自动发起一个请求,,正常网站拿到 cookie 后会认为这是正常用户,就允许请求。
2024-07-29 22:03:29
784
原创 vite + postcss 安装配置
配置完成后,postcss-pxtorem会在构建时自动将CSS中的像素单位转换为rem。新建 postcss.config.js。
2024-07-29 21:04:59
762
原创 引用的项目“xxxx/tsconfig.node.json”可能不会禁用发出。
vue3 报错:引用的项目“xxxx/tsconfig.node.json”可能不会禁用发出。
2024-07-28 11:55:47
2011
原创 vue3报错:Cannot find module ‘@/xx‘ or its corresponding type declarations. Vetur(2307)
报错解决:Cannot find module '@xxx.vue' or its corresponding type declarations. Vetur(2307) 和 Module '"xxxx.vue"' has no default export.Vetur(1192)
2024-07-28 11:41:55
1642
原创 报错:Object literal may only specify known properties, and ‘test‘ does not exist in type ‘UserConfigEx
vitest在vite.config.ts中配置test配置项时报错:Object literal may only specify known properties, and ‘test’ does not exist in type 'UserConfigEx将:import { defineConfig } from “vite”;改为:import { defineConfig } from “vite/config”;
2024-07-24 17:15:24
1492
原创 vue3 + ts 报错:Parsing error: Unexpected token : eslint
配置 “parser”: “@babel/eslint-parser” 告诉 ESLint 在检查代码之前,先使用 Babel 的解析器将代码转换成 ESLint 可以理解的形式。这对于那些使用了新的 ECMAScript 特性(如箭头函数、模板字符串、类等)或者使用了 Babel 进行代码转换的项目非常有用。
2024-07-23 22:38:27
1156
原创 解决:事件监听器 addEventListener 被多次调用
给一个元素添加了事件监听,click 会触发然而在实际场景中,点击一次,事件会被触发两次阻止冒泡也没有用。
2024-07-21 22:54:21
772
原创 webworker 入门教程
就是为 JavaScript 创造多线程环境,允许主线程创建 Worker 子线程,将一些任务分配给后者运行。在主线程运行的同时,Worker 子线程在后台运行,两者互不干扰。等到 Worker 子线程完成计算任务,再把结果返回给主线程。这样的好处是,一些计算密集型或高延迟的任务,被 Worker 子线程负担了,主线程(通常负责 UI 交互)就会很流畅,不会被阻塞或拖慢。
2024-06-24 17:16:26
544
原创 Node.js 系列之 Express 框架入门实战教程
官方解释为:Node.js是一个开源的,跨平台的 javascript 运行环境通俗来讲:Node.js就是一款应用程序,是一款软件,它可以运行 javascript
2024-06-23 12:24:07
1317
原创 git merge(3个模式) 与 git rebase 图文详解区别
rebase:变基,会有一个干净的分支,但是对于记录来源不够清晰merge:合并,git分支看起来比较混乱,但是清楚各个记录的来源与时间节点
2024-06-16 23:35:00
1045
原创 Nuxt - middleware 路由中间件
内联路由中间件,直接在页面内定义。命名路由中间件,放置在 middleware/ 目录下,导入在页面中。全局路由中间件,放置在 middleware/ 目录下,并以 .global 后缀结尾,在每次路由更改时运行。
2024-05-28 22:00:58
1189
原创 Git 仓库中 -- 代码冲突产生、定位、解决的流程
说通俗点,就是由于 A B 人员修改过同一行代码,必然会造成冲突,需要我们自己手动解决冲突,也就是,我们手动对代码进行合并,将冲突的代码合并起来,再重新进行 commit push
2024-05-25 20:21:08
5312
原创 JS创建script标签,并在标签加载完成后触发回调
JS创建script标签,插入到head,并在script标签加载完成后触发回调。判断 script 标签是否加载完成。判断 script 标签是否加载完成。
2024-05-10 15:04:04
534
原创 服务端渲染SSR原理
在讲服务端渲染之前,我们先回顾一下页面的渲染流程:浏览器通过请求得到一个HTML文本渲染进程解析HTML文本,构建DOM树解析HTML的同时,如果遇到内联样式或者样式脚本,则下载并构建样式规则(stytle rules),若遇到JavaScript脚本,则会下载执行脚本。DOM树和样式规则构建完成之后,渲染进程将两者合并成渲染树(render tree)渲染进程开始对渲染树进行布局,生成布局树(layout tree)渲染进程对布局树进行绘制,生成绘制记录。
2024-05-09 23:22:22
1029
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人