Void Space
文章
分类
关于我
|
欲买桂花同载酒,终不似,少年游
js-xss 原理分析
从源码角度剖析 js-xss 库的 XSS 过滤原理。解析 HTML 切分、标签解析、属性解析的完整流程,以及白名单机制和安全校验的实现细节。对比正则方式,展现字符串遍历的性能优势。
2024/8/23
5 mins
安全
源码分析
JavaScript
由一次 try...catch 异常引发的设计思考
探讨 try...catch 在网络请求中过度捕获错误的问题,分析 await-to-js 的优缺点,并提出一种基于错误类型枚举的优雅设计方案,实现错误处理与主流程逻辑的完美解耦。
2024/2/22
6 mins
JavaScript
vitepress 的实现原理
深度解析 Vitepress 静态站点生成器的工作原理,从初始化、启动服务到 Markdown 渲染的完整流程。揭示 Vite 插件如何动态生成 HTML 入口,以及 markdown-it 如何将 MD 转换为 Vue 组件。
2023/2/1
7 mins
Vite
Vue
源码分析
Husky 和 Git Hooks
深入解析 Husky 8.0 的实现原理,揭示如何通过 git config core.hooksPath 和 npm prepare 脚本实现 Git Hooks 的团队共享。对比新旧版本的不同实现思路。
2022/12/2
4 mins
Git
Husky
奇怪的 axios 拦截器
通过源码分析 axios 响应拦截器的执行机制,揭示拦截器中错误处理函数的作用范围。解释为何需要使用多个拦截器来正确捕获业务错误,避免错误处理失效的问题。
2022/10/27
3 mins
源码分析
vue-ellipsis-component: 满足多种场景的 vue 缩略组件
从 react-ellipsis 移植而来的 Vue 文本缩略组件,支持多行缩略、最大高度缩略、富文本缩略、自适应等功能。采用二分法优化性能,提供常规策略和动态计算两种缩略方案。
2022/2/9
5 mins
Vue
开源
提升效率的筛选器组件 vue-filter-box
基于 view-design 实现的动态筛选器组件,通过传入筛选项结构即可快速生成筛选器,大幅提升中台系统的开发效率。支持多种筛选项类型、校验、自定义样式等功能。
2022/1/29
4 mins
Vue
工程化
开源
我的 vue 怎么和你们的不一样
记录一次因 String.prototype.link 方法导致的 Vue 开发踩坑经历。探讨了在使用 v-if 判断对象属性时需要注意的原型链陷阱,分享了更安全的类型判断方案。
2021/09/21
4 mins
Vue
JavaScript
[译]指向跨域的链接是不安全的
当使用 target="_blank" 链接到跨域页面时,会带来性能和安全问题。通过添加 rel="noopener" 或 rel="noreferrer" 可以防止新页面访问 window.opener 并确保独立进程运行,保护网站免受恶意重定向攻击。
2021/03/06
3 mins
安全
跨域
HTML
浏览器
性能优化
vue源码学习笔记 - nextTick原理
解析 Vue 异步更新队列和 nextTick 的实现原理。深入理解为何 DOM 更新是异步的,以及 nextTick 如何利用微任务队列(Promise/MutationObserver)实现回调的精确时机控制。
2021/02/26
8 mins
Vue
源码分析
vue源码学习笔记 - watch原理
深入 Vue 2.6 源码,剖析 watch 侦听器的实现原理。从 initWatch 到 Watcher 类,详细解析依赖收集、响应式触发、深度监听和回调执行的完整流程。
2021/02/26
7 mins
Vue
源码分析
关于我因为登录失败开始探究Cookie这档事
深入探究 Chrome 80 版本后 SameSite Cookie 默认策略变更导致的跨站登录失败问题。详细解析 Cookie 的 SameSite 属性、跨域与跨站的区别,以及三种实用的解决方案。
2020/11/04
13 mins
浏览器
跨域
安全
探究: 为什么JavaScript要在body标签尾部引入?
通过 Chrome Performance 工具实验验证 JavaScript 引入位置对页面渲染的影响。揭示外部 JS 文件下载会阻塞 HTML 解析但不阻塞渲染,解释为何应将 script 标签置于 body 尾部。
2020/10/23
8 mins
JavaScript
浏览器
性能优化
HTML
用户体验
探究: 为什么CSS要在head标签中引入
从性能和用户体验角度探究 CSS 引入位置的最佳实践。对比 CSS 在 head 和 body 中引入的渲染流程差异,揭示避免页面"裸奔"现象和 reflow 性能损耗的原理。
2020/10/2
7 mins
CSS
浏览器
性能优化
HTML
用户体验
从源码对react-router v5进行原理分析(三)
完结篇!分析 Redirect、Link、withRouter 等剩余组件的实现,以及 react-router 提供的 Hooks API。揭示高阶组件模式和 useContext 在路由组件中的巧妙应用。
2020/9/13
7 mins
React
源码分析
从源码对react-router v5进行原理分析(二)
解析 react-router 核心组件的实现原理,包括 BrowserRouter、Router、Switch 和 Route。深入理解 Context API 在路由数据传递中的应用,以及路由匹配和组件渲染的完整流程。
2020/9/9
8 mins
React
源码分析
从源码对react-router v5进行原理分析(一)
深入 react-router v5 源码,分析路由跳转的实现原理。通过自行实现简易 history 库,揭示订阅-发布模式在路由管理中的应用,以及 pushState API 在 SPA 路由中的核心作用。
2020/8/31
5 mins
React
源码分析
LogGame - 藏在浏览器控制台里的汽车游戏
一个隐藏在浏览器控制台中的创意小游戏项目。通过控制台输出实现汽车躲避游戏,展示了浏览器 Console API 的有趣玩法。支持键盘控制,完美实现上班摸鱼。
2020/08/11
46 seconds
JavaScript
游戏开发
开源
再见啦, 我的旧博客
记录博客从 1.0 到 2.0 的技术升级历程。从 jQuery + ejs 的传统方案迁移到 Vue.js 单页应用,并采用 Node.js 服务端渲染解决首屏加载和 SEO 问题。
2018/12/14
2 mins
博客搭建