前端优秀框架合集
NPM 安装
使用 *
标注的模块无法通过 NPM 直接安装,请阅读文档获取安装方式。
项目管理
框架 | 功能 | ⭐ |
---|---|---|
lerna | Monorepo 管理工具 | |
nx | Monorepos 管理工具 | |
nrm | NPM 源管理工具 |
开发工具
框架 | 功能 | ⭐ |
---|---|---|
vite | 下一代前端构建工具 | |
esbuild | 极快的 JavaScript 打包工具 | |
@swc/core | 极快的 JavaScript 编译器 | |
tsc | TypeScript 编译器 | |
tsx | TypeScript 脚手架工具 | |
chalk | 控制台样式输出 | |
glob | 文件路径匹配工具 | |
fast-glob | 更快的 glob 匹配工具 | |
@inquirer/prompts | 交互式命令行工具,inquirer 的升级版本 | |
sass | Sass 编译器 | |
sass-embedded | 和 sass 完全兼容,稍快的 Sass 编译器 | |
tailwindcss | 快速构建定制化的 CSS | |
eslint | JavaScript 代码检查工具 | |
rimraf | 删除全部文件和文件夹 | |
tsup | 简单快速地打包 TypeScript 库 | |
husky | 最流行的本地 git 钩子管理器 | |
simple-git-hooks | 适用于小型项目的简单 git 钩子管理器 | |
lint-staged | 对 git 暂存的代码执行 Lint | |
commitlint | Lint 提交信息 | |
pkgroll | 零配置的 Node.js + TypeScript 打包工具 | |
nodemon | Node.js 开发环境的热重载工具 | |
jiti | Node.js 的运行时 Typescript 和 ESM 支持 | |
cross-env | 跨平台的环境变量设置工具 | |
npm-run-all | 并行或顺序运行多个 npm 脚本 | |
npm-run-all2 | npm-run-all 的升级版本,持续维护 | |
node-gyp | Node.js 的 C++ 扩展构建工具 | |
degit | 从 git 仓库克隆项目 |
前端运行时库
框架 | 功能 | ⭐ |
---|---|---|
rxjs | 使用可观察对象实现的响应式编程库,灵活实现异步和回调 | |
core-js | JavaScript 标准库的 polyfill | |
defu | 对象合并工具 | |
minimatch | 像 glob 一样匹配文件名 | |
picomatch | 更快的 minimatch 替代品 | |
dayjs | 轻量的处理时间和日期库 | |
monaco-editor | VS Code 所使用的的全功能代码编辑器 | |
tslib | TypeScript 工具和运行时支持库 | |
yaml | YAML 解析/字符串化官方库 | |
@anatine/zod-mock | zod 的 Mock 数据生成器 | |
i18next | 全平台的国际化库 | |
msw | 模拟 HTTP 请求 | |
lru-cache | LRU 缓存 | |
xlsx * | Excel 编辑和导出库,已经改名 SheetJS | 📃 |
lodash | JavaScript 实用工具库 | |
lodash-es | lodash 的 ESM 版本 | |
radash | lodash 的轻量、TypeScript 支持的替代品 | |
cronstrue | Cron 表达式解析器,将 Cron 转换为描述 | |
cron-parser | Cron 表达式解析器,将 Cron 转换为可迭代时间戳序列 | |
zustand | 更简洁的状态库,提供跨框架支持,并有丰富的中间件 | |
flexsearch | 灵活的全文搜索库 | |
docx | 生成 Word 文档的库 | |
big.js | 大数处理库,用于高精度计算 |
模式验证
框架 | 功能 | ⭐ |
---|---|---|
yup | 对象模式验证 | |
valibot | TypeScript 优先的对象验证库 | |
zod | TypeScript 优先的对象验证库 | |
zod-i18n-map | zod 的国际化错误信息 | |
zod-to-openapi | zod 到 OpenAPI 的转换器 | |
arktype | TypeScript 1:1 验证器,完全使用 TypeScript 语法的运行时验证器 |
Node.js 库
框架 | 功能 | ⭐ |
---|---|---|
helmet | Express 中间件 | |
lucia | 跨框架的鉴权库,提供数据库绑定、全运行时和全框架等开箱即用的特性 | |
prisma | 数据库 ORM 工具,配合客户端 @prisma/client 使用 | |
redis | Redis 客户端 | |
winston | 日志库 | |
pino | 快速的日志库 | |
log4js | 日志库 |
ESLint 插件
框架 | 功能 | ⭐ |
---|---|---|
@antfu/eslint-config | @Antfu 的 ESLint 配置 | |
eslint-plugin-format | 格式化代码的 ESLint 插件 | |
eslint-plugin-tailwindcss | TailwindCSS 的 ESLint 插件,用于检查 CSS 类名是否存在于配置中 |
Vue 模块
框架 | 功能 | ⭐ |
---|---|---|
pinia | Vue3 的状态管理库 | |
pinia-plugin-persistedstate | Pinia 的持久化插件 | |
pinia-shared-state | 多标签共享 Pinia 状态 | |
vee-validate | 表单验证库 | |
@vueuse/core | VueUse 核心库 |
React 模块
框架 | 功能 | ⭐ |
---|
WebAssembly
框架 | 功能 | ⭐ |
---|---|---|
pyodide * | Python 语言环境的 WebAssembly 版本 | 📃 |
@pyscript/core | pyodide 的封装,用于浏览器上的 JS 和 Python 交互 |
测试
框架 | 说明 | ⭐ |
---|---|---|
playwright | 浏览器端到端测试框架,可用于模拟操作,类似于 Puppeteer,本站教程 | |
vitest | Vite 的测试工具 |