Category
Frontend
RxJS 响应式编程入门指南
📚 前言RxJS(Reactive Extensions for JavaScript) 是一个响应式编程库,使用 Observable(可观察对象)来处理异步数据流。它在 Angular 中被广泛使用,也适用于 React、Vue 等任何 JavaScript 项目。 🎯 为什么需要 RxJS?传统异步处理的问题12345678910111213141...
前端浏览器存储全面指南:Cookie、LocalStorage、SessionStorage、IndexedDB
📚 前言浏览器提供了多种数据存储方案,每种都有其适用场景。本文将全面介绍 Cookie、LocalStorage、SessionStorage 和 IndexedDB,帮助你在实际开发中做出正确选择。 🎯 快速对比 特性 Cookie LocalStorage SessionStorage IndexedDB 存储大小 ~4KB ~5MB ~5MB 无限...
策略模式在前端的应用
背景与痛点在后台管理系统中,我们经常遇到这样的场景:需要渲染多种不同类型的配置模块,每种模块有不同的: 数据结构 表格列配置 表单字段 CRUD 操作逻辑 传统做法是用大量的 if-else 或 switch-case,导致代码臃肿、难以维护,因此我们想到了一种解决方案:策略模式+同意渲染器 定义策略模式是一种行为设计模式,它定义了一系列算法,把它们封装起来...
现代前端打包工具全面对比:Webpack、Vite、Rollup、esbuild
📚 前言前端打包工具经历了从 Grunt → Gulp → Webpack → Vite 的演进。如今,开发者面对 Webpack、Vite、Rollup、esbuild、Parcel 等众多选择,该如何抉择?本文将全面对比这些现代打包工具。 本文定位是基础对比和选型入口。每个工具的原理、配置和适用场景,会放到独立专题里展开: Webpack:依赖图、Lo...
Less、Sass、SCSS 与 CSS 的区别与选择
📚 前言在前端开发中,CSS 是样式的基础,但随着项目复杂度增加,原生 CSS 的局限性逐渐显现。CSS 预处理器(Less、Sass/SCSS)应运而生,它们扩展了 CSS 的能力,让样式编写更高效、更易维护。 🎯 快速对比 特性 CSS Less Sass SCSS 语法 原生 类 CSS 缩进式 类 CSS 变量 --var (CSS3)...
Monorepo 项目搭建最佳实践
🚀 实战:搭建 Monorepo 项目步骤 1:初始化项目12345# 创建项目目录mkdir my-monorepo && cd my-monorepo# 初始化pnpm init 步骤 2:配置 pnpm workspacepnpm-workspace.yaml 中的 packages 配置是告诉 pnpm 哪些目录下的子目录是 wor...
Monorepo 和 Multirepo 在前端领域的应用
📚 前言随着前端项目规模的增长,如何有效地管理多个相关联的项目成为了一个重要课题。Monorepo 和 Multirepo 是两种主流的代码仓库管理策略,各有优劣。本文将深入探讨这两种方案在前端领域的应用。 🎯 什么是 Monorepo 和 Multirepo?Monorepo(单一仓库)Monorepo 是将多个项目放在同一个 Git 仓库中管理的策略...
JavaScript Generator 深入解析
📚 什么是 Generator?Generator(生成器)是 ES6 引入的一种特殊函数,它可以暂停执行和恢复执行,是实现异步编程和迭代器的强大工具。 🔑 核心特点 可暂停:使用 yield 关键字暂停函数执行 可恢复:通过 next() 方法恢复执行 惰性求值:只在需要时才计算下一个值 双向通信:可以在暂停和恢复时传递数据 🎯 基础语法定义 Gen...
JavaScript 中的 8 种继承方式详解
📚 简介JavaScript 继承机制是前端开发中的核心概念。本文将详细介绍 8 种常见的继承方式,包括它们的优缺点和适用场景。 1️⃣ 原型链继承(Prototype Chain)特点 ✅ 优点:实现简单,可共享父类原型上的方法 ❌ 缺点:所有子实例共享引用类型属性,无法向父构造函数传参,无法实现多继承 🎯 适用场景:仅共享方法且没有引用类型状态时 代...