总结100+前端优质库,让你成为前端百事通
itomcoil 2025-09-28 01:19 2 浏览
1年多时间, 陆陆续续整理了一些常用且实用的开源项目, 方便大家更高效地学习和工作.
js相关库
js 常用工具类
- 「lodash」 一个一致性、模块化、高性能的 JavaScript 实用工具库。
- 「xijs」 一款面向复杂业务场景的 javascript 工具库
- 「ramda」 一个很重要的库,提供了许多有用的方法,每个 JavaScript 程序员都应该掌握这个工具
- 「day.js」 一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样, 体积只有 2kb
- 「big.js」 一个小型,快速的 JavaScript 库,用于任意精度的十进制算术运算
- 「qs」 一个 url 参数转化 (parse 和 stringify)的轻量级 js 库
- 「decimal.js」 实现 JavaScript 的任意精度的十进制类型库
表单校验
- 「Validator.js」 一个强大的 js 表单校验库
- 「Validate.js」 致力于提供一种验证数据的跨框架和跨语言方式的 js 库, 已通过 100%代码覆盖率的单元测试
dom 库
- 「JQuery」 封装了各种 dom/事件操作, 设计思想值得研究借鉴
- 「zepto」 jquery 的轻量级版本, 适合移动端操作
- 「fastclick」 一个简单易用的库,它消除了移动端浏览器上的物理点击和触发一个 click 事件之间的 300ms 的延迟。目的就是在不干扰你目前的逻辑的同时,让你的应用感觉不到延迟,反应更加灵敏。
文件处理
- 「file-saver」 一个在客户端保存文件的解决方案,非常适合在客户端上生成文件的 Web 应用程序
- 「js-xlsx」 一个强大的解析和编写 excel 文件的库
网络请求
- 「Axios」 一个基于 Promise 的 HTTP 库,可用在 Node.js 和浏览器上发起 HTTP 请求,支持所有现代浏览器,甚至包括 IE8+
- 「Superagent」 基于 Ajax 的优化, 可以与 Node.js HTTP 客户端搭配使用
- 「fly.js」 一个基于 promise 的 http 请求库, 可以用在 node.js, Weex, 微信小程序, 浏览器, React Native 中
动画库
- 「Anime.js」 一个 JavaScript 动画库,可以处理 CSS 属性,单个 CSS 转换,SVG 或任何 DOM 属性以及 JavaScript 对象
- 「Velocity」 一个高效的 Javascript 动画引擎,与 jQuery 的 $.animate() 有相同的 API, 同时还支持彩色动画、转换、循环、画架、SVG 支持和滚动等效果
- 「Vivus」 一个零依赖的 JavaScript 动画库,可以让我们用 SVG 制作动画,使其具有被绘制的外观
- 「GreenSock JS」 一个 JavaScript 动画库,用于创建高性能、零依赖、跨浏览器动画,已在超过 400 万个网站上使用, 并且可以在 React、Vue、Angular 项目中使用
- 「Scroll Reveal」 零依赖,为 web 和移动浏览器提供了简单的滚动动画,以动画的方式显示滚动中的内容
- 「Kute.js」 一个强大高性能且可扩展的原生 JavaScript 动画引擎,具有跨浏览器动画的基本功能
- 「Typed.js」 一个轻松实现打字效果的 js 插件
- 「fullPage.js」 一个可轻易创建全屏滚动网站的 js 滚动动画库, 兼容性无可替代
- 「iscroll」 移动端使用的一款轻量级滚动插件
- 「swiper.js」 一款强大的 js 跨端触摸滑动插件
- 「MixItUp」 是用于 DOM 操作的高性能,无依赖库,使您能够使用精美的动画过滤,排序,添加和删除 DOM 元素的 js 动画库
- 「Lottie」 一个用于 Android,iOS,Web 和 Windows 的库,用于解析使用 Bodymovin 导出为 json 的 Adobe After Effects 动画,并在移动设备和网络上呈现它们
鼠标/键盘相关
- 「KeyboardJS」 一个在浏览器中使用的库(与 node.js 兼容).它使开发人员可以轻松设置键绑定和使用组合键来设置复杂的绑定.
- 「SortableJS」 功能强大的 JavaScript 拖拽库
图形/图像处理库
- 「html2canvas」 一个强大的使用 js 开发的浏览器网页截图工具
- 「dom-to-image」 一个可以将任意 DOM 节点转换为用 JavaScript 编写的矢量(SVG)或光栅(PNG 或 JPEG)图像的库
- 「pica」 一个在浏览器中调整图像大小,而不会出现像素失真,处理速度非常快的图片处理库
- 「Lena.js」 一个轻量级的可以给你图像加各种滤镜的 js 库
- 「Compressor.js」 一个使用本地 canvas.toBlob API 进行图像有损压缩的 js 库
- 「Fabric.js」 一个易于使用的基于 HTML5 canvas 元素的图片编辑器
- 「merge-images」 一个将多张图片合并成一张图的 js 插件
- 「cropperjs」 一款强大的图片裁切库, 支持灵活的图片裁切方式
- 「Grade」 一个基于图像中的前 2 种主要颜色生成互补渐变背景的库
表单表格
- 「x-spreadsheet」 一个基于 web 的简单易用的表格插件
Css 相关库
- hover.css 开箱即用的鼠标悬停动画
- animate.css 一个跨浏览器的简单便捷的 CSS 动画库
- Magic 集成各种特殊动效的 css 动画库
- kite 一个兼容性极好且灵活的布局 css 库
- csshake 一个能够震动和晃动DOM元素的 CSSku 库
- hint.css 一个用纯 css 和 html 实现的提示库
React相关库
UI 库
- Ant design 用于研发企业级中后台产品的 UI 组件库
- Ant design mobile 基于 Ant Design 设计体系的 React UI 移动端组件库
- MaterialUI 世界最受欢迎的基于质感设计的 React UI 库
- toolbox 一套使用 CSS 模块功能实现 Google 的 Material Design 规范的 React 组件
- Fabric UI 微软开源的 UX 框架的集合,用于创建共享代码,设计和交互行为的精美的跨平台应用程序
- React desktop 基于 React 的 JavaScript 库,旨在将本机桌面体验带入网络,其中包含许多 macOS Sierra 和 Windows 10 组件。react-desktop 与 NW.js 和 Electron.js 完美结合,但是可以在任何 JavaScript 驱动的项目中使用
- Zent 有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件
- react-icons 基于 React 封装的丰富的图标库
状态管理
- Redux JavaScript 状态容器,提供可预测化的状态管理
- Redux Thunk Redux 的异步处理中间件
- MobX 通过函数响应式编程使得状态管理变得简单和可扩展
- Dva 一个基于 redux 和 redux-saga 的数据流方案
工具类
- React Virtualized 一个能渲染大型列表和表格的 React 解决方案
- react-file-viewer React 在线 PDF 预览插件
- react-copy-to-clipboard 基于 React 的复制到剪切板组件
- qrcode.react 基于 React 的生成二维码的组件
- nprogress 适用于 YouTube,Medium 等的顶部进度条组件
- react-syntax-highlighter 基于 React 的代码高亮组件
- react-contextmenu 右键菜单组件
- emoji-mart 基于 React 的表情库
- react-highlight-words 基于 React 的关键字高亮
- WaterMark 水印组件
数据可视化
- AntV 包含 G2、G6、F2、L7 以及一套完整的图表使用和设计规范, 提供强大的数据可视化需求
- G2Plot 基于 G2 封装的开箱即用的可视化组件库
- recharts 使用 React 和 D3 构建的自定义的图表库
- Viser 支持多种主流框架的可视化库
拖拽/排序
- react-beautiful-dnd 漂亮,可移植性 列表拖拽库
- react-dnd 可帮助我们构建复杂的拖放界面,同时保持组件的分离
- react-moveable 支持自由拖拽, 缩放, 参考线的灵活强大的拖拽库
- react-grid-layout 强大的网格拖拽排序缩放库
- mixitup 强大且高性能的列表卡片排序动画库
动画/动效果
- Halogen 使用 React 的加载动画集合
- react-loading 一款基于 react 的轻量级加载动画库, 支持按需导入, 开箱即用
- react-move 漂亮的,数据驱动的 React 动画库
- react-spring 一个基于弹簧物理学的动画库
- react-text-loop-next 文字轮播动画
图像处理
- react-image-crop 强大的图片裁切库
- react-sparklines 基于数据自动生成趋势线
- dom-to-image 基于 dom 生成图片的 canvas 库
- react-img-editor 支持截图编辑的图片库
编辑器相关
- braft-editor 富文本编辑器
- powerNice 文档编辑器
- mitu 图片编辑器
- h5-dooring H5 页面编辑器
- GGEditor 可视化图编辑器
- react-codemirror2 代码编辑器
- jsoneditor json 编辑器
地图相关
- google-map-react 谷歌地图插件
- react-amap 高德地图插件
- react-baidu-map 百度地图
优秀国产项目集合
可视化编辑器
- h5-dooring
- dooringx
- v6.dooring
- mitu
- watermark-pro
vue 后台模版
- vue3.0-template-admin
- vue-admin-box
- ant-simple-pro
文档工具
- html2md
H5 活动插件
- lucky-canvas
视频播放器
- JoL-player
好啦, 今天的分享就到这里啦, 如果你有好用的库推荐, 欢迎在评论区反馈~
后续会在 趣谈前端 中持续总结复盘, 让技术工作更高效.
相关推荐
- 《Queendom》宣布冠军!女团MAMAMOO四人激动落泪
-
网易娱乐11月1日报道据台湾媒体报道,南韩女团竞争回归的生死斗《Queendom》昨(10/31)晚播出大决赛,并以直播方式进行,6组女团、女歌手皆演唱新歌,并加总前三轮的赛前赛、音源成绩与直播现场投...
- 正确复制、重写别人的代码,不算抄袭
-
我最近在一篇文章提到,工程师应该怎样避免使用大量的库、包以及其他依赖关系。我建议的另一种方案是,如果你没有达到重用第三方代码的阈值时,那么你就可以自己编写代码。在本文中,我将讨论一个在重用和从头开始编...
- HTML DOM tr 对象_html event对象
-
tr对象tr对象代表了HTML表格的行。HTML文档中出现一个<tr>标签,就会创建一个tr对象。tr对象集合W3C:W3C标签。集合描述W3Ccells返回...
- JS 打造动态表格_js如何动态改变表格内容
-
后台列表页最常见的需求:点击表头排序+一键全选。本文用原生js代码实现零依赖方案,涵盖DOM查询、排序算法、事件代理三大核心技能。效果速览一、核心思路事件入口:为每个<th>绑...
- 连肝7个晚上,总结了66条计算机网络的知识点
-
作者|哪吒来源|程序员小灰(ID:chengxuyuanxiaohui)计算机网络知识是面试常考的内容,在实际工作中经常涉及。最近,我总结了66条计算机网络相关的知识点。1、比较http0....
- Vue 中 强制组件重新渲染的正确方法
-
作者:MichaelThiessen译者:前端小智来源:hackernoon有时候,依赖Vue响应方式来更新数据是不够的,相反,我们需要手动重新渲染组件来更新数据。或者,我们可能只想抛开当前的...
- 为什么100个前端只有1人能说清?浏览器重排/重绘深度解析
-
面试现场的"致命拷问""你的项目里做过哪些性能优化?能具体讲讲重排和重绘的区别吗?"作为面试官,我在秋招季连续面试过100多位前端候选人,这句提问几乎成了必考题。但令...
- HTML DOM 介绍_dom4j html
-
HTMLDOM(文档对象模型)是一种基于文档的编程接口,它是HTML和XML文档的编程接口。它可以让开发人员通过JavaScript或其他脚本语言来访问和操作HTML和XML文档...
- JavaScript 事件——“事件流和事件处理程序”的注意要点
-
事件流事件流描述的是从页面中接收事件的顺序。IE的事件流是事件冒泡流,而NetscapeCommunicator的事件流是事件捕获流。事件冒泡即事件开始时由最具体的元素接收,然后逐级向上传播到较为不...
- 探秘 Web 水印技术_水印制作网页
-
作者:fransli,腾讯PCG前端开发工程师Web水印技术在信息安全和版权保护等领域有着广泛的应用,对防止信息泄露或知识产品被侵犯有重要意义。水印根据可见性可分为可见水印和不可见水印(盲水印)...
- 国外顶流网红为流量拍摄性侵女学生?仅被封杀三月,回归仍爆火
-
曾经的油管之王,顶流网红DavidDobrik复出了。一切似乎都跟他因和成员灌酒性侵女学生被骂到退网之前一样:住在950万美元的豪宅,开着20万美元的阿斯顿马丁,每条视频都有数百万观看...人们仿佛...
- JavaScript 内存泄漏排查方法_js内存泄漏及解决方法
-
一、概述本文主要介绍了如何通过Devtools的Memory内存工具排查JavaScript内存泄漏问题。先介绍了一些相关概念,说明了Memory内存工具的使用方式,然后介绍了堆快照的...
- 外贸独立站,网站优化的具体内容_外贸独立站,网站优化的具体内容有哪些
-
Wordpress网站优化,是通过优化代码、数据库、缓存、CSS/JS等内容,提升网站加载速度、交互性和稳定性。网站加载速度,是Google搜索引擎的第一权重,也是SEO优化的前提。1.优化渲染阻塞。...
- 这8个CSS工具可以提升编程速度_css用什么编译器
-
下面为大家推荐的这8个CSS工具,有提供函数的,有提供类的,有提取代码的,还有收集CSS的统计数据的……请花费两分钟的时间看完这篇文章,或许你会找到意外的惊喜,并且为你的编程之路打开了一扇新的大门。1...
- vue的理解-vue源码 历史 简介 核心特性 和jquery区别 和 react对比
-
一、从历史说起Web是WorldWideWeb的简称,中文译为万维网我们可以将它规划成如下的几个时代来进行理解石器时代文明时代工业革命时代百花齐放时代石器时代石器时代指的就是我们的静态网页,可以欣...
- 一周热门
- 最近发表
- 标签列表
-
- ps图案在哪里 (33)
- super().__init__ (33)
- python 获取日期 (34)
- 0xa (36)
- super().__init__()详解 (33)
- python安装包在哪里找 (33)
- linux查看python版本信息 (35)
- python怎么改成中文 (35)
- php文件怎么在浏览器运行 (33)
- eval在python中的意思 (33)
- python安装opencv库 (35)
- python div (34)
- sticky css (33)
- python中random.randint()函数 (34)
- python去掉字符串中的指定字符 (33)
- python入门经典100题 (34)
- anaconda安装路径 (34)
- yield和return的区别 (33)
- 1到10的阶乘之和是多少 (35)
- python安装sklearn库 (33)
- dom和bom区别 (33)
- js 替换指定位置的字符 (33)
- python判断元素是否存在 (33)
- sorted key (33)
- shutil.copy() (33)