Skip to content

TOP有用的工具列表

类型系统的真假美猴王:破解 IsEqual<X, Y> 之谜

"报告长官!代码库出现两个可疑类型变量!"
"它们自称是'双胞胎',但行为诡异——有时能互换,有时又互相排斥。"
"请求立即派遣'类型特工'介入调查!"

在这个充满结构子类型(Structural Typing)魔法的 TypeScript 世界,每个类型都像《惊天魔盗团》的魔术师,随时可能上演"偷梁换柱"。今天,让我们化身类型侦探,带上专属工具箱,破解这个困扰无数开发者的世纪谜题:

如何判断两个类型是真正的"双胞胎",还是高超的"模仿犯"?

什么是 Signals ?

2024年了,Signals 在前端框架中越来越成为主流的底层技术依赖。 大概是从哪个框架开始兴起的,我有些忘记了,我映像中最早推动并流行的是 SolidJS, 后来在 Vue3 中也引入了该技术,随后,如 MobXPreactQwikSvelteAngular 等 也纷纷引入了该技术。

JSR 使用指南

jsr logo

最近,Deno 发布了一个 Javascript Registry (JSR),一个新的 JavaScript 包注册表。 它类似于 npm ,但不是一个包管理工具,而是提供 包注册、包发布的包存储服务。

它可以搭配 npm, yarnpnpm 等一起使用,支持 Node.jsDenoBunbrowser 等运行时。

TypeScript5.4 值得关注的新特性

2024年2月22日,TypeScript 发布了 5.4 版本的候选版本。其中,有两个新特性,非常值得我们关注,它们有效的提高了开发体验。

在 Chrome 中模拟请求和Web内容

浅谈反爬虫

玩转 CSS @property

@property CSS at-rule是 CSS Houdini API 的一部分,它允许开发者显式地定义他们的 CSS 自定义属性, 允许进行属性类型检查、设定默认值以及定义该自定义属性是否可以被继承。

@property 的出现,极大的增强了 CSS 的能力。

npm 语义化版本管理

消除异步传染性

异步传染性 是指,当一个函数使用了 async / await,其调用者也需要使用 async / await 处理异步操作, 这导致了与之相关的整个调用链,都变成了异步的。这种情况可能导致代码变得复杂,不易于维护。

一文读懂 CSS 自定义滚动条

有时候,为了保持我们的应用程序 UI 交互体验在不同系统的一致性,需要覆盖默认的滚动条, 通过自定义滚动条的方式,获得更好的用户体验。

vite插件推荐

本文列出了一些在工作中常会用到的、比较好用的 vite 插件。

jsdoc参考

Web指标

Webpack场景下的项目优化方案

鹏展博

鹏展博

世间的美好总是不期而遇