
前端学习
jjjjjjjjj¢
你好鸭
本人语雀账号 https://www.yuque.com/dashboard/books
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
el-button/button置灰及原理
这是等效于写 button disabled的写法,虽然它的值是字符串 “true”,但只要 disabled 这个属性存在,浏览器就认为它为 true。如果你希望按钮在“初始渲染前”就已经是灰的(比如 SSR 场景),那就不建议用指令,而是直接用 :disabled=“true” 靠组件本身逻辑控制。el.classList.add(‘is-disabled’) ✅(仅样式) ❌(仍能点)❓ 如果你操作的是 el-button 这样的组件,不是原生 ,为什么仍然能置灰?原创 2025-07-02 20:02:09 · 681 阅读 · 0 评论 -
dom属性 previousElementSibling
因为我们通常不知道 DOM 结构是否有空格、换行、注释等干扰节点,所以要确保我们获取的是 真正的元素 节点,用 previousElementSibling 是最保险的方式。previousSibling 前一个任意类型节点(可能是文本) ❌ 不忽略。previousElementSibling 前一个元素节点 ✅ 忽略。当前元素的前一个兄弟元素节点(忽略文本、注释等非元素节点)。nextElementSibling 后一个元素节点 ✅。属性 含义 是否忽略空白/注释节点。原创 2025-06-24 13:44:01 · 203 阅读 · 0 评论 -
await使用的一些疑惑
你的理解实际情况“await 会自动等待”await 只能等待 Promise 完成“async 函数会自动延迟”async 只是包装返回值,不改变执行流程“可以 await 任何东西”非 Promise 值会被自动包装为 resolved Promise关键点await需要配合真正的异步操作(如返回 Promise 的操作),而setTimeout本身不是 Promise 化的,所以需要手动用包装它。原创 2025-06-22 01:44:29 · 364 阅读 · 0 评论 -
CSRF攻击场景
CSRF(跨站请求伪造,Cross-Site Request Forgery)攻击常见于受害者已登录并持有合法身份的前提下,攻击者诱导其在不知情的情况下向目标网站发送恶意请求。场景描述:用户登录 App 内的 WebView 页面时,点击了某个按钮,实际上触发了 CSRF 请求。场景描述:攻击者向家庭路由器、摄像头、NAS 等设备发起 CSRF 请求,如重启设备、修改密码、关机等。场景描述:用户登录某电商网站后,攻击者引导其点击某个链接,自动将某商品加入购物车或下单付款。📤 4. 自动提交表单(POST)原创 2025-06-20 13:22:34 · 450 阅读 · 0 评论 -
错误监控----比如实现sentry一些思路
错误监控⼀、引⾔1.为什么需要前端错误监控你的脚本在哪些边界条件下会报错?你的脚本和样式兼容性如何?有哪些地区不能正常访问你的⽹站?出现问题之后,你如何快速定位排查,把损失降到最低?如果你想解决以上这些问题,那么你需要给你的⽹站部署错误监控系统。2.前端错误监控系统如何⼯作监控系统分为上报端、服务端与管理后台。上报端的形式⼀般为SDK,主要功能是捕获错误与上报,更进阶的话可以考虑错误的复现与⽤⼾数据的收集,还有保证⽤⼾体验的平顺降级。服务端则负责存储、分析错误信息,在错误数量和严重性达原创 2025-06-18 23:56:23 · 814 阅读 · 0 评论 -
git回滚操作
👉 查看 HEAD 变动记录,比如误用了 reset --hard 可以找回之前的 commit。修改和提交都会被删除,无法恢复(除非 reflog)。👉 不会删除历史,而是创建一个“反操作”的提交(适合公开分支)。2.2 撤销最近的一次提交(保留修改但移出暂存区)回退某一提交(保留历史) revert ✅ ✅。🚧 一、修改尚未提交的内容(工作区/暂存区)回退最近提交 reset ❌(危险) 可选。2.1 撤销最近的一次提交(但保留修改)2.3 撤销最近的一次提交(彻底丢弃)原创 2025-06-17 21:49:36 · 591 阅读 · 0 评论 -
为什么Vite在开发环境不用打包,到了生产环境就需要打包了呢?
有些旧浏览器不支持 ESM(比如 IE11),需要将代码转成兼容格式(如 CommonJS / UMD / IIFE)。这是因为开发环境和生产环境的运行目标和性能要求完全不同,Vite 针对这两者采用了不同的技术策略。页面加载时,Vite 只在服务端用 esbuild 做一次预处理(如 TS 转 JS),不做打包。生产环境下不能让浏览器一个个去请求上百个模块(会造成大量网络请求,严重影响首屏性能)。生产环境追求性能和兼容性,所以必须打包。使用 模块级热更新(HMR),只更新变更模块,而不是整个页面。原创 2025-06-12 01:53:20 · 292 阅读 · 0 评论 -
网络资源缓存
前端性能优化是提升用户体验和页面响应速度的关键,可以从 网络优化、资源优化、缓存优化 三个方面系统地进行。缓存优化 重复访问加速 Cache-Control、ETag、Service Worker、文件 hash。资源优化 减小体积、延迟加载 图片压缩、JS/CSS 按需加载、Tree Shaking。stale-while-revalidate(旧资源立即返回,后台更新新资源)网络优化 降低加载延迟 CDN、Gzip、HTTP/2、预加载、请求合并。一、网络优化(减少请求数、降低延迟、提升加载速度)原创 2025-06-04 01:27:50 · 629 阅读 · 0 评论 -
npm、yarn幽灵依赖问题
你在代码中使用了某个依赖包,但它并没有在当前项目的 package.json 中声明,只是“间接依赖”被安装到了 node_modules 中,导致你能用,但其实不应该能用。你没有显式安装 lodash,但项目里却能跑成功,因为 webpack 的某个插件内部依赖了 lodash,所以它“顺便”被装进 node_modules。pnpm 的 node_modules 是使用 符号链接(symlink)+ 嵌套结构 搭出来的,你只能访问你自己声明的依赖。这就是幽灵依赖:你没声明,系统却能跑。原创 2025-05-31 01:20:31 · 756 阅读 · 0 评论 -
yarn、pnpm、npm
下面我按时间线和动机,把 npm → yarn → pnpm 的演变脉络讲清楚。如果你想继续,我可以带你写个从 yarn 或 npm 切换到 pnpm 的实战迁移指南,也可以讲讲它们在 Monorepo 里的表现。Facebook 的工程师维护着数千个 Node 项目,npm 的不稳定、速度慢,严重拖累开发效率,于是他们造了 Yarn。npm 安装依赖是不稳定的,即使锁版本,也有可能在不同机器上装出不同的 node_modules。pnpm:使用内容寻址 + 硬链接,依赖只下载一次,多个项目共享。原创 2025-05-31 01:02:25 · 607 阅读 · 0 评论 -
qiankun解决的问题
qiankun 通过 Proxy 等技术实现沙箱机制,有效隔离微应用之间的 JS 和 CSS 环境,解决全局变量冲突、样式污染、多实例运行等问题,是微前端稳定运行的核心保障。为每个微应用创建一个 Proxy(window) 的代理对象,拦截所有对 window 的修改,限制作用域。qiankun 的沙箱机制主要用于隔离微应用之间的运行环境,避免相互影响。每次微应用切换时,记录 window 的状态(如全局变量),卸载时恢复原状态。退出微应用时能恢复主应用或其它子应用原本的状态。样式隔离防止样式干扰。原创 2025-05-24 18:56:29 · 493 阅读 · 0 评论 -
手写v-model
【代码】手写v-model。原创 2025-04-28 11:16:57 · 131 阅读 · 0 评论 -
css复习
border-collapse:collapse (表示相邻边框合并在一起)行内或行内块元素水平居中:text-align:center;border:1px solid red (没有顺序)单元格的border会发生重叠,如果不想要重叠设置。盒子阴影不占用空间,不会影响其他盒子排列。传统网页布局三种方式:标准流 浮动 定位。padding影响盒子大小的好处使用。盒子阴影:border-shadow。原创 2024-02-23 02:13:50 · 847 阅读 · 0 评论 -
git学习
也可以直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。分支,就像平行宇宙,廖雪峰老师如是说。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。原创 2023-10-24 14:48:12 · 354 阅读 · 0 评论 -
实现箭头,空心三角形
【代码】实现箭头,空心三角形。原创 2023-09-25 14:26:35 · 183 阅读 · 0 评论 -
实现一个宽高自适应的正方形
【代码】实现一个宽高自适应的正方形。原创 2023-09-24 19:38:41 · 212 阅读 · 0 评论 -
对象彻底冻结函数
【代码】对象彻底冻结函数。原创 2023-09-07 13:26:59 · 71 阅读 · 0 评论 -
一个盒子不给宽度和高度如何水平垂直居中
css原创 2023-03-13 22:52:24 · 247 阅读 · 0 评论 -
css实现上下固定中间自适应
css原创 2023-03-12 20:33:48 · 830 阅读 · 0 评论 -
单行、多行文本溢出隐藏
css原创 2023-03-12 19:25:05 · 138 阅读 · 0 评论 -
实现满屏品字布局
css原创 2023-03-10 23:02:43 · 386 阅读 · 0 评论 -
css垂直水平居中的几种方式
css原创 2023-03-10 21:17:38 · 182 阅读 · 0 评论 -
跨域及其解决方式
前端原创 2022-09-19 23:56:36 · 484 阅读 · 0 评论 -
Vue生命周期及作用
前端学习原创 2022-09-19 22:17:52 · 2052 阅读 · 0 评论