博文列表

博文封面

从首次HTML状态调查中我们学到了什么

我们刚刚发布了首次HTML状态调查的结果,这是数月辛勤工作的结果,不仅是我的努力,还有

博文封面

并不是只有你这么觉得,Next.js 变得越来越难用了

前几天我写了一篇博客文章,讲述 Next.js 中间件如何有助于解决

博文封面

我们(1password)如何使用esbuild将浏览器扩展构建时间减少90%

我们内部用于构建浏览器扩展代码的系统是在五年前搭建的。虽然我们能够逐步扩展它以满足我们的需求,但在这个过程中它变得越来越慢。让我们给它一个急需的升级! 我在2020年初作为实习生加入了1Password。那是一个有着……一些有趣记忆的日期!其中一个记忆是我还记得构建我们的浏览器扩展需要多长时间。当时,我的

博文封面

🛑 停止调整浏览器大小:提高响应式测试

这是我在2024年4月30日多伦多JS上做的闪电演讲的扩展思考文章。👉🏻 幻灯片在此 TLDR; 使用浏览器开发工具中的设备模式来准确模拟移动设备和平板电脑上的体验。 一个熟悉的故事

博文封面

命名设计令牌(Token)、组件和变量的最佳实践

快速摘要:我们如何能更擅长命名?这篇文章致力于命名约定、技巧和现实世界的例子,帮助您以一种健壮和灵活的方式命名事物。 命名很难。作为设计师和开发人员,我们经常在为设计令牌、颜色、UI组件、HTML类和变量找到正确名称方面遇到困难。有时,我们选择的名称太通用,因此很难理解确切的含义。有时它们太具体,几乎...

React 19 让你编写不可能的组件

React 19已经到来,它带来了复杂而灵活的新功能、难以置信的优化,以及一种全新的思考应用程序的方式。 但在构建营销网站时,React 19的功能是否过于工程化?或者这些功能是否值得付出努力? 在过去的18个月里,这些功能已经在React Canary和Next.js App Router中慢慢推出。在过去...

ECMAScript 2025 特性:正则表达式的重复命名捕获组

在这篇博客文章中,我们将探讨 ECMAScript 2025 特性 ““重复命名捕获组””,该特性由 Kevin Gibbons 提出。 这是一个针对正则表达式的特性,允许我们多次使用相同的捕获组名称。 重复命名捕获组 重复捕获组名称通常不被允许的原因很明显:一个捕获只能有一个值,因此必须忽略其他组——例如:...

创建组件库时您将面临的困境

注意:这是几年前我写的文章系列的更新版本,但内容仍然非常相关。 构建组件库是一次充满挑战和回报的经历,但不仅仅是编写外观出色的组件那么简单。在旅程的每一步,您都需要做出选择,以确保您的库适合其预期受众。 在构建您的库时,您需要考虑以下困境: 我应该编写纯Web组件还是使用库? 我应该将我的库导出为单...

博文封面

200行JavaScript中的虚拟DOM

在这篇文章中,我将详细介绍一个完整的虚拟DOM实现,代码量略超过200行JavaScript。 结果是一个功能完备且性能足够的虚拟DOM库(演示)。它作为smvc包在NPM上可用。 主要目标

博文封面

利用 Chrome DevTools 全面分析 JavaScript 性能

让我们看看如何通过 Chrome DevTools 的 Performance(性能)标签来有效地分析并改进 JavaScript 的性能,同时避免常见错误。我们的用例是提高一个现实世界中 canvas 库的渲染 FPS(每秒帧数)。 几周前,我的一位同事和我在 benchmarks.slayline...