Skip to content
Vue 中的响应性

Vue 组件状态都是由响应式的 JavaScript 对象组成的,当更改它们时,视图会随即自动更新。本质上,响应性是一种可以使我们声明式地处理变化的编程范式。

Vue 组合式函数

Composition API 是一系列 API 的集合,使我们可以使用函数而不是声明选项的方式书写 Vue 组件。

MouseEvent 鼠标事件详解

当页面没有滚动时,MouseEvent.clientX 和 MouseEvent.pageX 的值相等。但当页面滚动时,MouseEvent.clientX 的值不变,而 MouseEvent.pageX 的值会随着页面滚动而增加或减少。

WebGPU 介绍和基本使用

WebGPU 规范由 Web Community Group 发布,是 W3C(但它不是 W3C 标准,也不在 W3C 标准轨道上)的 GPU for the Web 社区组共同努力的结果,其中包括 Mozilla、Apple、Intel 和 Microsoft 等大公司的贡献。

集成 GPT-4 的代码编辑器 - OpenAI Cursor(已限制使用和收费)

现在新版本中,如果提问的跟编程技术无关的问题,会得不到答案:很抱歉,但我无法满足您的请求,因为它与编程或给定的上下文无关。还有什么我可以帮你的吗?

基于对话式交互的 SQL 客户端 - SQL Chat

SQL Chat 是一个基于聊天的 SQL 客户端,可以使用自然语言询问数据库问题和查询数据库。

TypeScript 工具类型、装饰器、混入(Mixins) | 青训营笔记

在 TypeScript 中,implements 只会继承属性的类型,而不会继承实际的逻辑,所以需要根据不同的功能定义多个可复用的类,将它们作为 mixins。因为 extends 只支持继承一个父类,我们可以通过 implements 来连接多个 mixins,并且使用原型链将父类的方法实现复制到子类。

TypeScript 命名空间、模块、声明合并 | 青训营笔记

声明合并是指编译器将针对同一个名字的两个独立声明合并为单一声明,合并后的声明同时拥有原先两个声明的特性。

TypeScript 索引类型、映射类型、条件类型 | 青训营笔记

通过索引访问操作符 T[K] 和索引类型查询 keyof T 使用索引类型。在映射类型中,新类型以相同的方式转换旧类型中的每个属性。例如,你可以令每个属性成为 readonly 类型或可选的。条件类型的形式类似于 JavaScript 中的条件表达式。

TypeScript 泛型、类型转换、类型守卫 | 青训营笔记

类型守卫就是一些在运行时检查某个作用域里的类型的表达式。

TypeScript 编译选项、声明文件 | 青训营笔记

TypeScript 的核心在于静态类型,我们在编写 TS 的时候会定义很多的类型,但是主流的库都是 JS 编写的,并不支持类型系统。这个时候你不能用 TS 重写主流的库,我们只需要编写仅包含类型注释的 d.ts 文件,然后在你的 TS 代码中,可以在仍然使用纯 JS 库的同时,获得静态类型检查的优势。

青训营大项目总结 | 青训营笔记

虽然业界已经有非常多知名组件库(antd/iview/material design 等),但实际工作中各团队通常也会应设计规范要求,自行开发属于团队内部的基础/业务组件库,对于高阶前端,开发一个属于自己的组件库已经是一种普遍但重要的基本技能。

如何给开源项目提 PR,给 layui- vue 提了个 PR,已合并

拉取请求只能在不同的两个分支之间打开,可以在创建拉取请求时指定要将更改合并到哪个分支。

🎉JavaScript 五彩纸屑库 js-confetti

如果您有一个页面,您希望用五彩纸屑特效引起您的用户注意,那么这个插件就是为您准备的。

一个 Windows 主题的 404 页面

Browser95-404 是一个 Windows 95 主题的 404 页面。页面显示为 Windows 95 的桌面,可以点击桌面上的图标进行一些交互。

Webpack 知识体系简单总结 | 青训营笔记

关于 Webpack 的使用方法,基本都围绕配置展开,而这些配置大致可划分为两类:流程类:作用于流程中某个或若干个环节直接影响打包效果的配置项;工具类:主流程之外,提供更多工程化能力的配置项。

WebGL 工作原理

GLSL 不同于 JavaScript,它是强类型语言(不可以隐式的转换类型或直接转型),并且内置很多数学公式用于计算向量和矩阵。

WebGL - 制作 3D 立体盒子

矩阵计算是一个很复杂的运算,通常使用一个矩阵运算库,而不会自己实现矩阵运算,这里使用的是 glMatrix 库来执行其矩阵操作。

WebGL 介绍和基本使用

WebGL 只关心两件事:裁剪空间中的坐标值和颜色值,使用 WebGL 只需要给它提供这两个东西。

Vitest 知识总结 | 青训营笔记

基于浏览器的运行器,如 Cypress,可以捕捉到基于 Node 的运行器(如 Vitest)所不能捕捉的问题(比如样式问题、原生 DOM 事件、Cookies、本地存储和网络故障),但基于浏览器的运行器比 Vitest 慢几个数量级,因为它们要执行打开浏览器,编译样式表以及其他步骤。