Web 前端常用插件
目录
- 工具类
- 浏览器增强类
- 表单类
- 图片类
- 图标类
- UI 框架
- UI 组件类
- 用户体验增强
- 动画
- SVG
- 测试
- 其他类
- Bootstrap相关类
- Vue.js 相关
- React 相关
- 小程序
- GraphQL
- JS Plugins仓库
工具类
- 方便操作对象,数组等的工具库
- underscore.js
- lo-dash 与underscore.js的api基本一致。与underscore比其优势是,效率高;可自定义构建
- Sugar 在原生对象上增加一些工具方法
- functional.js 提够了一些Curry的支持
- bacon.js 函数式编程,cool
- streamjs 用流的方式来对数组,对象进行系列操作
- clone.js 对各种对象的深度复制。
- deepmerge 深度合并数组和对象。
- 数据类型
- 字符串
- strman 字符串操作库。它为各种实用程序、格式选项和字符串转换,提供了超过 60 种实用的方法。
- 数字
- BigDecimal.js 提高精度的数字操作
- 对象
- Watch.js 监视对象或属性的变化
- 时间
- 正则
- rewrap 正则工具库。相关插件regexp-frequent,rewrap-patch
- parameter 验证参数的格式
- 字符串
- 生成 uuid
- 与服务器端交互
- 异步流程控制
- 发布订阅
- eventproxy 朴灵出品
- Arbiter.js 详细
- q Promise风格的
- Async.js
- 发布订阅
- 加载器
- little-loader JS 加载器。Webpack 不支持加载外部js,可用这个。
- mock
- Mock.js 生成随机数据和mock Ajax 请求
- jquery-mockjax mock ajax请求
- 浏览器探测
- Bowser 探测具体浏览器和版本
- ua-parser-js 探测具体浏览器和版本,操作系统,设备类型等
- 调试
- Eruda Eruda 是一个专为手机网页前端设计的调试面板,类似 DevTools 的迷你版,其主要功能包括:捕获 console 日志、检查元素状态、捕获XHR请求、显示本地存储和 Cookie 信息等等。
- vConsole 轻量、可拓展、针对手机网页的前端开发者调试面板插件。微信前端做。
- console-polyfill 能放心的使用 console.log()之类的console方法
- log 让控制台输出的log有样式
- uri.js uri操作
- Cookie 增删改cookie的工具库
- store.js 对 localStorage 的封装。兼容 IE6+。
- director 前端路由库 详细
- JSDoc 根据javascript文件中注释的信息,生成API文档 详细
- hotkeys 键盘事件的封装
- MD5 用 MD5 的方式加密文件的库
- Exif.js 读取 JPEG 图片的拍摄信息。可以通过拍摄信息中的 Orientation 来解决 ios 手机上传竖拍照片会逆时针旋转90度的问题。
- download 实现下载的库。支持 url 和流。 详细
- 模板引擎
- 生成pdf
- Excel库
- 打印
- vuePlugs_printjs 基于 Vue。
- compass.js 指南针。只有在手机浏览器上才能用。
- 中国行政区域数据
- canvas
- lerna 对一个项目中包含若干个 npm 包的管理。对这几个npm包内部依赖版本的管理和npm包的发布比较方便。
- TimeCat 一套网页录屏的解决方案,利用其独特的算法,提供超高性能,超高压缩比的网页无损录制。可以广泛运作于监控系统,行为分析,案例复盘,远程教育,低流量视频协同等场景。
浏览器增强类
让一些旧浏览器变牛逼的库
- Selectivizr 让IE 6-8一些的css3选择器
- ieBetter 让ie6-8有高级浏览器的特性
- ExplorerCanvas 让IE8-的浏览器支持canvas
- CSS3 Pie 让IE6-9支持border-radious,box-shadow,linear-gradient。 可以使用.htc文件(注意Mine type)或.js文件。在用Pie.js时,box-radious的元素有背景色时,不显示背景色。。。
- formFive 让旧的浏览器支持HTML5表单的一些特性,如 placeholder,autofocus
- https://github.com/anselmh/object-fit 让浏览器支持
object-fit
这css规则 - HTML5 Cross Browser Polyfills 一堆Polyfills
- flexibility 让旧的 IE 也支持 Flexbox
选择器增强
- Lining.js 让浏览器实现类似
::nth-line(), ::nth-last-line()
的效果
CSS 兼容性
- prefixfree 根据 caniuse.com 数据库自动补全 CSS 私有前缀
- stickybits
position: sticky
polyfills。
表单类
- jquery-file-upload 上传文件组件 详细
- zTree 文件树形视图控件 详细
- Treed 树编辑器。感觉展示的感觉很像思维导图
- FileAPI 对文件选择框内的文件的一些处理
- autosize 让 文本域(textarea) 的高度随着文字内容的变高而变高。
表单验证
- .Validate 详细
- jQuery-Validation-Engine
- 身份证验证
- id-card-uitls
- IdCard 身份证的工具库,支持身份证号验证,获取地址,生日,男女等信息。
表单元素美化
- uniform 提供对下拉框,单,复选框,按钮等表单元素的美化
- select2 多选下拉框
- selectivity 和unfirom比较类似
- DropKick 下拉框,单,多选。外观比uniform好
- switchery ios7风格的开关组件
- nouislider 用滚动条来设置/控制(音量等)
- 滑块/Range
- vue slider component 基于 Vue。
- slider 基于 React。
- range.css 美化
input[type=range]
元素的外观
- Colorion 背景是渐变色的按钮。hover 时有动画效果。
图片类
- holderjs 生成占位图片
- imagesLoaded 选取的图片都加载好后执行调回
- gif.js 生成 gif 文件。
- core-video-to-gif 将视频截取为 gif 的前端 JavaScript 类库。
- CSSgram 用CSS3的Filter实现Instagram滤镜的库
图标类
- Icon Font汇总
- SVG做的图标
- svgicons
- iconic
- hybicon.js 带交互效果。如 hover, click。 详细
- HTML字符实体图标
- transformicons 图标点击时,会有一些变换效果。如,加号变成叉号
- css3patterns css3 做的可平铺纹理。浏览器兼容性不好。
浏览图片
图片墙
UI 框架
- WeUI 由微信官方设计团队为微信 Web 开发量身设计。
- SUI Mobile 阿里巴巴国际UED前端出品的移动端UI库。
- Framework7
- UIKit Web 组件库,不依赖任何框架,组件类型多、功能强。
- wired elements 手绘效果的组件库。它的底层是 Web components。
UI 组件类
拖拽
- dragula 支持Draggable,Dropable和Sortable。感觉比jqueryUI的轻量级,好用的样子
- angular-dragula dragular 官方的 angular 版本
- vue-grid-layout 支持托拽和自定义大小网格系统。
数据可视化(图表)
- F2 阿里出品。为移动端而生。
- Echarts 百度出品。 Vue 版 Echart。
- D3.js 超灵活的做数据可视化的工具。
- highcharts 功能强大。是收费的。
- Plottable.JS 基于D3的一个图表库
- flot 文档不给力
- chartJs 中文文档 demo很漂亮,很清晰。比较轻量级。
- ichartJs 中国的一个家伙搞的,感觉还不错。
- k线图(k line)
- Echarts的k线图 功能比较简单
- kline 功能比较多,支持 webpack 等。
- 流程图&脑图
- GGEditor 基于 G6 和 React 的可视化图编辑器。支持流程图和脑图。阿里出品。
时间选取组件
- foundation-datepicker
- DatePicker 一个简单的日历 详细
- full calendar 支持脱放的方式来改变待办事宜的时间
- Simple Events Calendar 外观很喜欢。收费 5$
- jQuery ui datepicker 经典,不是很好看
- pickadate 轻量级,手机友好的,漂亮。但貌似只能在弹出层中显示,而没有下拉这种方式显示。
- zebra-datepicker 可配置性很强。但貌似只能在弹出在右上方。。。
- bootstrap-datepicker bootstrap风格。
- dateRangePicker 选取时间段。bootstrap风格。该组件依赖Twitter Bootstrap, Moment.js和jQuery.
- v-calendar 基于Vue (版本需要 2.5+)。单日历,双日历,日期范围。
滚动无限加载
- vue-infinite-scroll 饿了么出品。
- vue-recyclerview 高性能的滚动无限列表加载。为了提高性能,代码有重复利用 DOM。
- React Infinite Scroller 基于 React。
自定义/美化滚动条
- better scroll 文档 在PC上使用时的推荐配置:
{scrollbar:true,mouseWheel: {speed: 20,invert: false}}
- perfect scrollbar 轻量级的滚动条。外观与mac上chrome的滚动条一样。 对 IE11- 兼容性不好。
- iscroll 在移动设备上用不错
滚动条其他
- ScrollFix 对 IOS 的滚动优化:局部滚动。配合使用:
overflow-y: scroll; /* has to be scroll, not auto */-webkit-overflow-scrolling: touch
。 - xscroll 滚动相关的一堆牛逼功能。
加载(Loding)效果
- CSS Spinners CSS做的
- Loaders.css CSS做的
表格组件
- jsGrid Data Grid。 详细
- backgrid 基于Backbone.js的DataGrid
- excellentexport 把表格的内容生成excel。兼容 Firefox, Chrome, IE6+
- datatables 表格可交互(对内容进行排序,删除等)
- handsontable 生成Excel外观的数据
- JSpreadsheets 表格数据的组件库
- jQuery Grid by gijgo.com
选取颜色
分享到SNS
- JiaThis 生成分享代码。
富文本编辑器
- Vue-Quill-Editor 将 Quill 封装成 Vue 组件。图片上传默认是把图片转成Base64来存,也支持监听上传事件,来将图片上传到服务器。
- ace 代码编辑器,可以用来做demo演示
- ckeditor
- ueditor 百度做的。
- tinymce 对html内容进行实时的编辑
- summernote 在移动设备上用不错
通知组件
HTML5播放器
- jwplayer 被大量网站使用
- html5media 简单的h5player,轻量级
- jplayer 功能强大,可换肤
地图
- Leaflet 开源的对移动端友好的地图工具库。
展示
- Impress.js 各种旋转,和奇特的体验
- fullPage 全屏显示。用滚轮来翻页 详细 2.9.7 以后的版本是收费的。
- zepto.fullpage 专注于移动端的fullPage.js,依赖Zepto
- pagePiling 和fullPage类似
- turn.js 做一本书,带漂亮的翻页的效果
- timelinejs 用时间轴方式展示信息。
- coverflow 苹果上唱片封面的效果(Apple Cover Flow UI effect)。
幻灯
- vue-easy-slider 基于 Vue。
- SuperSlide/TouchSlide 国产库!兼容IE6,焦点图/幻灯片/Tab标签切换/图片滚动/无缝滚动等常见效果,支持移动端
- slidesjs 挺好用的,只是那幻灯导航的CSS都要自己写,呵呵 详细
- iSlider 无任何插件依赖的手机平台javascript滑动组件 详细
- bgstretcher 全屏幻灯,会随着页面大小的变化而变化。
- Swiper 开源、免费、强大的移动端触摸滑动插件 Swiper中文网
- coin-slider 兼容IE6,不过其切换方式是一块块的。不能配置切换方式
- wowslider 幻灯切换时各种很炫的效果。收费。
- cycle2 普通的幻灯,竟然不支持垂直滚动
- jcarousel 普通的幻灯,不兼容IE6
- reveal 3d滚动。做ppt相当不错
- nodePPT 国人做的,做ppt也相当不错。有些方面比 reveal做的还好。但生成导出的html有些问题
- roundabout 3d切换,看的后面图片的边
- SmartPhoto 专为移动设备打造的响应式图像查看器,它易于使用,并支持手势触摸操作,例如捏合或者滑动。同时,它还具备对初学者友好的大量实用的事件处理器,以及用户自定义选项。
弹出框
- Magnific-Popup 兼容PC,Mobile。还不错,有5k+的star
- layer 国人开发的,兼容ie6+。不喜欢其调用方式。
二维码
- QR Code Generator
- jquery-qrcode 生成二维码图片的jQuery 插件,很好用。该插件是基于 QR Code Generator 开发的。
动画效果
- animate.css 预设了很多动画。
- transformjs Made css3 transform super easy。腾讯出品。
- Scence.js 做基于时间线的动画库。具体的若干时间点,给元素设置指定的样式。
- mixitup 用漂亮的动画效果来完成排序和筛选
- jQuery.Marquee 跑马灯效果
- quickflip 卡片翻转效果
- 卡片翻转效果2 兼容性可以。写的比较简单:1,只支持x方向翻转 2,类名都是规定好的 3,只能被调用一次。 需要改写一下。我的改进版见这里
- TheaterJS 模拟两个人在屏幕上对话
- midnight.js 文字颜色随着背景变,屌炸了
- color-animation jquery的颜色渐变动画插件。jquery的动画不支持颜色值的变化。改库提供了这个支持。
- transit 对元素进行css的变换
- tagcanvas 3D标签云效果 详细
- iconate 图片切换动画
- Snap.js 左/右侧导航的出现效果
- CSS shake 抖动动画
- ClickSpark.js 点击后的一些酷炫的效果
视觉差插件
- ScrollMagic 对 superscrollorama 的重写。
- scrollorama 比较简单
- superscrollorama 能做的效果更多,但要用第三方Tween的库,使用起来比较复杂。
- scrolldeck
- stellar.js 让图片或背景图以不同速率移动,已停止维护。
- lax.js
flash
- swfobj 能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。 详细
抽奖
- wScratchPad 刮刮卡刮奖效果
- jqueryrotate 旋转插件。可以用来做转盘抽奖效果
其他工具类
- vue-clickaway 点击元素外侧,元素隐藏。
用户体验增强类
- Intro.js 用来介绍网站的功能很不错。也可以做新手引导。
- blockUI Lolding组件。
- simple-hint 提示信息。用css做的。兼容性IE 9+。
- dotdotdot 文字溢出时,添加在文字末尾加省略号
- jQuery-menu-aim 二级菜单的切换如Amazon主页上一样迅速
- AnythingZoomer 放大镜功能
- PRISM 代码高亮
- please 按要求随机舒服的颜色
- Awesomplete 输入的智能提示,自动补全
- proTip 提示。感觉比 Bootstrap 的 tip 好
- Hammerjs 手势库。封装了 Swipe, Tap, Pinch, Pan等手势
- favico.js 动态改 favicon。牛逼是可以放视频~
- elevator.js 用做电梯的方式,伴着背景乐,返回到页面顶部。 Just for fun。
- panorama_viewer 轻量级全景图。 代码不足两百行,基于 jQuery。
- Toast
- cxlt 基于 Vue2。
- Darkmode.js 给网站加上 dark 模式。
- vue-countTo 动画到跳到某个数字。Vue 组件。
- pagemap 给长页面加网页的缩略图。
动画
- velocity 提高Jquery动画的性能。以及颜色动画之类的新特性。
SVG
测试
- 测试框架
- Jest
- Mocha
- 断言库
- Power Assert
- Chai
- Should
- Snoion
- DeviceMock.js mock 设备。
- 端到端测试
- Puppeteer
- BackstopJS
- 录制浏览器交互并生成测试脚本
- Puppeteer Recorder 生成 Puppeteer 的。
- softest 基于 Puppeteer 构建的。支持多 Tab,截图等 Puppeteer Recorder 不支持的功能。
其他类
- 复制到剪贴板
- clipboard.js Modern copy to clipboard. No Flash. Just 3kb gzipped.
- ZeroClipboard 将内容复制到剪切板兼容主流浏览器的解决方案 详细
- html2canvas html转化成canvas,可以用来做截图。详细
- Ink 响应式html邮件框架
- 性能测试
- 抓取,解析RSS内容(不能跨域,所以后台要做代理,所谓的解析Rss其实就是解析xml)
- scriptcam 与摄像头交互
- cylon.js 机器人框架,支持35个平台
- 图片的瀑布流展示
- devices.css 移动设备边框的外观。做原型的时候用不错。
- city 国家行政区划分数据。从国家统计局拿的。 城市数据
- 全栈JavaScript错误监控 提供监控报错的服务。
Bootstrap相关类
- Bootbox.js 对bootstrap的弹出框做的一些封装
- 免费皮肤
Vue相关
- 全家桶
- vue-router 官方提供的路由插件
- vuex
- 手机 UI 库
- 管理后台
- Element UI 饿了么出品。
- iView Admin 基于 iView 做的后台。 Talking Data 出品。
- Vue Admin
- Vue Manage System 基于 Element UI。支持多 Tab 选项卡等功能。
- D2 Admin 基于 Element UI。简约主题。支持 首屏加载等待动画等。
- avue 对 Element UI 的二次封装,收费。
- Muse UI Material Design 的 Vue 实现。
- buefy 基于 Vue 的轻量级 UI 组件库。
- Vue-head 管理head标签中的信息。
- vue-i18n 多语言解决方案。
React 相关
- 管理后台
- Zent 有赞出品。Zent ( \ˈzent\ ) 是有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件。
小程序
- 其他框转小程序(转译型框架)
- 增强型小程序框架
- MPX 滴滴出品。致力于提高小程序开发体验的增强型小程序框架,通过Mpx,我们能够最先进的web开发体验(Vue + Webpack)来开发生产性能深度优化的小程序
- 组件库
- iView webApp Talking Data 出品。
- MinUI 蘑菇街出品。
- zanui-weapp Vant UI 的小程序版。有赞出品。
GraphQL
- prisma Prisma turns your database into a realtime GraphQL API。
JS Plugins仓库
- jQuery Cards 高质量的 jQuery 插件网站
- jster
- node modules
- npmrank Sort npm packages by page rank
- YOU MIGHT NOT NEED JQUERY PLUGINS 不依赖 jQuery 的 js 插件。
- awesome-nodejs
- Vue
- Libraries.io 各种语言的库
- OniUI 去哪儿网做的一套基于Avalon的框架