最新文章

  • WebStorm 保存格式化冲突与多次热更新问题排查笔记

    一次保存触发多次热更新、格式化"跳动"甚至产出缝合格式的完整排查记录:老版本 Prettier 解析不了新语法、eslint-config-prettier 未启用导致 ESLint 与 Prettier 互搏、WebStorm reformat 拦截路径 bug,以及用写盘监视器取证的方法。

    #WebStorm#Prettier#ESLint
  • CSS 渐变边框方案总结

    为面板同时实现渐变背景与圆角渐变边框,梳理 border-image、伪元素 + mask、background-clip 等 5 种方案,给出最推荐的 background-clip 多层背景实现。

    #CSS#前端#Web
  • Web 端展开/收起面板方案总结

    梳理纯 CSS(grid-template-rows、max-height、transform、interpolate-size)、JS(Web Animations API)与语义化(details)等展开收起方案,给出推荐实现与降级策略。

    #CSS#前端#Web
  • 前端性能优化实战:一个后台系统的真实优化清单

    从加载、渲染到运行时,一份能直接落地的性能优化清单。每个建议背后,都是我在 Vue3 + Ant Design 后台系统里真实做过、验证过的改动。

    #性能优化#前端#Vue
  • Git 日常工作流:我在团队里怎么用 Git

    从提交规范、分支策略到合并、回滚、冲突解决——这套工作流我用了三年多,每天在团队里跑,分享给你可以直接抄的版本。

    #Git#工具#工作流
  • CSS Grid 网格布局从入门到实战

    Flex 解决一维布局,Grid 解决二维布局。用一组常见场景讲清 Grid 的核心概念,轨道、fr 单位、区域命名与响应式写法。

    #CSS#Grid#布局
  • 深入理解 JavaScript 事件循环

    从调用栈、宏任务、微任务到渲染时机,彻底搞懂 JS 单线程下的异步执行顺序,并解释为什么 Promise 比 setTimeout 先执行。

    #JavaScript#事件循环#异步
  • 欢迎来到我的博客

    这是一个用 Astro 搭建的个人博客,用来记录前端开发与技术思考。

    #随笔#Astro
  • 为什么选 Astro 做博客

    聊聊博客这种内容站为什么适合 Astro 的 Islands 架构,以及它和其他方案的区别。

    #前端#Astro#博客
  • 微信小程序页面传值

    - setStorage/getStorage(setStorageSync/getStorageSync)存储到缓存,在页面的onShow阶段绑定 - wx.navigateTo({url: '../page/you/go?key=val

    #微信小程序#小程序#页面传参
  • js获取在线视频的第一帧作为封面

    最近碰到一个需求,要求获取在线视频文件的第一帧画面作为视频的封面图片,项目中使用的是 xgplayer 播放器,封面 poster 要求传封面的 url。 思路:用 canvas 绘出画面 - 转成 base64 - base64 转成 F

  • 一文搞懂CSS Flex布局

    css中,flex、grid 各种布局都是我们必须掌握的,作为常用功能又强大的flex布局你还没学会吗,全文没有一张图,用最通俗易懂的语言教你怎么用css中的flex布局。 父容器属性 开启flex display: flex; 控制子元素

    #css#flex
  • vue中$nextTick的使用

    一、使用方法 在vue中有一种情况,获取了数据后,需要对新视图进行下一步操作或者其他操作时,发现获取不到dom。因为赋值操作只完成了数据模型的改变并没有完成视图更新。在这个时候我们需要$nextTick函数(或者setTimeout)。 比

    #vue#$nextTick
  • vue中整合editor.md

    在做毕设过程中需要在前端用到Markdown编辑器,一想就想到了Editor.md,虽然有和Vue整合好的mavonEditor可供选择,但是还是喜欢Editor.md,就想办法搞一下。 Editor.md作为一个很成熟开元Markdown

    #vue#editor.md
  • Express框架中请求内的错误处理

    Whichever method you use, if you want Express error handlers to be called in and the application to survive, you must en

    #express#promise