LBX Blog

「我爱这生活。」

Vite 8 换芯实测:Rolldown 替掉双引擎,构建快 3.19 倍

Vite 8 换芯实测:Rolldown 替掉双引擎,构建快 3.19 倍

前情: TS 7.0(Go) React Compiler(Rust) Rspack 2.0(Rust) Bun(Zig→Rust) Vite 8 已经把 Rolldown 作为默认引擎发正式版了,是 vite build 默认走的路。两个测试项目同样的代码分别用vite7和vite8跑,看一下会有什么情况。 一、看 package.json Vite ...

CSS 锚点定位实测:零 JS 实现气泡跟随,自动翻转很香但暗藏 3 个致命坑

CSS 锚点定位实测:零 JS 实现气泡跟随,自动翻转很香但暗藏 3 个致命坑

上篇文章有个遗留问题:dialog 把气泡顶进了 Top Layer,但气泡该「长」在触发按钮旁边。当时说的是 CSS 锚点定位(Anchor Positioning)能搞定,这篇来试试 先看老方案,要在按钮旁边挂一个气泡,纯 JS 的写法是这样的: 1 2 3 4 5 6 7 8 9 function placeTip(btn, tip) { const r = btn.getBo...

Bun 从 Zig 逃到 Rust:50 万行代码 11 天搬完,另一个团队却反着跑

Bun 从 Zig 逃到 Rust:50 万行代码 11 天搬完,另一个团队却反着跑

一个叫 Bun 的 JavaScript 运行时,把 50 万行 Zig 代码用 AI 在 11 天内重写成了 Rust,花了 16.5 万美元 API 费用。 但几乎在同一时间,另一个叫 Roc 的编程语言团队,花了 487 天人工把 30 万行 Rust 编译器重写成了 Zig。更反直觉的是,他们说 Zig 版本的内存 bug 反而更少。 双向奔赴? 1. Bun 的野心与 Z...

上一篇讲到了top-layer和z-index的内容 上一篇说到了showPopover() 之后的气泡,能压住 z-index: 99999 的元素。 但是气泡而已,给 toast 也上 popover 不就完了,这算什么难点。 先把上一篇遗留的问题说完,这篇主要讲的是z-index: 99999 输给 z-index: 2、dialog 自己也有两种、以及会发现一个有有意思...

告别 z-index 内战,原生 popover 属性白送 Top Layer、自动关闭与焦点管理

告别 z-index 内战,原生 popover 属性白送 Top Layer、自动关闭与焦点管理

上一篇说到了command,commandfor ,commandfor 管开关,现在说一下弹层本体 说 commandfor命令,这个命令只负责开和关,弹层本体还没着落。总不能用 <div> 手搓吧。 手搓过气泡组件的人都懂,那不是写一个 div 的事,主要有四个点: 1 2 3 4 5 6 overlay.style.zIndex = 99999; ...

button按钮原生开关弹窗,零 JS 搞定80%交互场景

button按钮原生开关弹窗,零 JS 搞定80%交互场景

HTML Invoker Commands API 实测 先看一段你肯定写过的代码。控制一个弹窗的开关,负责任的写法大概是这样: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 const dialog = document.getElementById('set-dialog'...

Node.js 事件循环到底和浏览器差在哪?5 个实验了解 libuv 真实调度

Node.js 事件循环到底和浏览器差在哪?5 个实验了解 libuv 真实调度

1. 浏览器和Node.js:为什么需要两套? 浏览器和 Node.js 的事件循环不是同一个东西。 浏览器的事件循环由 HTML5 规范定义,核心是任务队列(Task Queue)和微任务队列(Microtask Queue)。注意「宏任务」只是约定俗成的叫法,并非规范术语——浏览器规范里用的是 Task。而且 Task Queue 实际上有多个,分别对应不同的任务源(setTimeo...

DeepSeek V4 Pro,用前端项目跑了一遍,Agent 能力暴涨8倍是真的吗?

DeepSeek V4 Pro,用前端项目跑了一遍,Agent 能力暴涨8倍是真的吗?

近期 DeepSeek 上线了 V4 Pro 版本,官方公布的 Agent 类评测数据出现了大幅提升。作为前端开发者,跑分数据仅作参考,实际代码生成、Bug 修复、工程搭建能力才是核心关注点。本文基于官方公开 API,通过 4 个前端真实开发场景做裸调用实测,验证其在前端工程中的实际表现。 一、测试背景与基础说明 1.1 模型核心参数 本次测试使用的模型为 deepseek-v4-...

async/await 到底是不是 Generator 的语法糖?手写执行器,Babel 编译产物里藏着答案

async/await 到底是不是 Generator 的语法糖?手写执行器,Babel 编译产物里藏着答案

Generator 系列第三篇:自动执行器、async/await 与 Generator 的关系、高阶玩法、面试题 系列前两篇我们讲了: 第一篇:Generator 概念、yield/next/throw/return、Iterator 协议 第二篇:Babel 编译产物剖析、switch 状态机、V8 引擎层面的暂停机制 第一篇结尾留了一个问题:async/...

Rspack 2.0 正式发布 — 前端构建工具格局再变天

Rspack 2.0 正式发布 — 前端构建工具格局再变天

从 5.6s 到 1.4s,从 192 个依赖砍到 1 个,Rspack 2.0 不只是”更快的 webpack”了。 Rspack 2.0 在 7 月 29 日正式发布。不只是”字节跳动的 webpack 替代品”。 这次 2.0 的核心变化可以浓缩成三句话: 性能翻倍——相比 1.0,构建速度最多快 100%,10000 组件项目缓存构建从 5.6s 降到 1.4s ...