这个仓库主要提供一些 JavaScript/Typescript 、Vue、React 方面的资源,主要集中于一些实用的库和常用的组件
在做项目的过程中,我会使用到很多库,但是时间久了之后对于那些不是经常用的工具库或者组件库就渐渐地忘记了,因此我想把那些实用的库或者好用组件记录下来,便于以后的查询,之后当项目中需要实现类似的功能时直接用别人的已经实现的库,避免重复造轮子,提高工作效率
- lodash - 一个 JavaScript 的工具库,包含许多有用的工具函数
- form-data - 一个用于创建可读的 “multipart/form-data” 流,让你的提交表单和文件上传更简单的 JavaScript 库
- uuid - 一个生成符合 RFC 规范的 uuid 的 Javascript 库
- nanoid - 一个小巧、安全、URL 友好、唯一的 JavaScript 字符串 ID 生成器(比 uuid 快)
- p-limit - 一个可以运行多个 promise-returning & async 函数并且限制并发数量的 JavaScript 库
- PicGo-Core - 一个可以让你上传文件到指定图床的 Javascript 库
- node-casbin - 一个 node 的权限管理库,支持 ACL , RBAC , ABAC 等访问控制模型的库
- isMobile - 一个判断是不是移动端设备的库
- sharp - 一个处理图像的库
- sheetjs - 一个处理 excel 表格的库
- node-ip - 一个处理 IP 地址的工具库
- clipboard.js - 一个将文本复制到剪切板的库
- clipboardy - 一个跨平台的让你访问系统剪切板 (copy/paste) 的库
- tinykeys - 一个监听用户键盘的库。(例如:同时按下 Shift+D ,依次按下 y e e t)
- reveal.js - 一个让你能够使用 Javascript 创建 PPT 在 Web 页面上展示的库
- node-fs-extra - node.js 的 fs 模块的扩展,让你更容易对文件进行操作
- cosmiconfig - 一个查找并加载配置文件或者 CommonJS 模块的库
- node-progress - node.js 中创建进度条的库(可用于 cli 工具中创建进度条)
- lerna - 一个让你在 javaScript 项目中管理多个包的工具库
- nexe - Nexe 是一个命令行实用程序,可将您的 Node.js 应用程序编译为单个可执行文件
- pkg - 一个可以将你的 node.js 项目打包成 .exe 文件的命令行工具
- atools - 一个简单的 JavaScript 实用工具库(包含一些简单的工具函数)
- tesseract.js - 一个基于 JavaScript 的 OCR 图像识别的库
- pdf-lib - 一个可以让你在修改或者添加 pdf 文件的内容的库
- postcss-px-to-viewport - 一个自动将 px 转化为 vw 或者 vh 的库 (适配移动端应用时非常有用)
- js-cookie - 用于处理浏览器 cookie 的简单、轻量级 JavaScript 库
- svg-captcha - node.js 中生成 svg 验证码的库
- multer - node.js 中处理文件上传的中间件
- kebab-case - 将字符串转换为 kebab-case 的库(例如:WebkitTransform -> -webkit-transform)
- commander - 帮助你创建 node.js 命令行的库
- chalk - 一个用于给你的终端的字符添加颜色的库
- node-archiver - 一个用于 node.js 的压缩文件的库,支持 zip 和 rar 压缩
- ora - 一个用于 node.js 中给终端添加加载动画的库
- Inquirer.js - 一个用于 node.js 中命令行交互的库
- yalc - 一个帮助你在本地测试 npm 包的库,相比 npm link 和 yarn link ,它有更多的优势
- listr - 命令行终端的任务列表,让你的命令行工具更好看
- pkg-install - 一个帮助你轻松地安装 npm 包,如果你的脚手架工具需要拉取代码并下载依赖,这个库会是个不错的选择
- node-ssh - 一个用于 node.js 中进行 ssh 连接的库
- download-git-repo - 一个用于 node.js 中下载 git repository 的库
- Sortable - 一个用于可重新排序的拖放列表的 JavaScript 库
- cross-env - 一个可以让你在 npm scripts 中设置环境变量的库
- jsPDF - 一个可以帮助你生成 pdf 的库
- KaTeX - 一个可以帮助你在 web 页面上书写出规范整齐的数学公式的库
- tsdx - 一个零配置的 CLI,可帮助您轻松开发、测试和发布现代 TypeScript 包
- ag-grid - 一个 JavaScript Table 表格,支持 Vue 、React 、Angular 以及原生 JavaScript
- monaco-editor - 一个基于浏览器端的 VSCode 代码编辑器组件
- faker - 一个可以为你的 node.js 或者浏览器生成大量假数据的库
- ioredis - 一个用于 node.js 的 redis 客户端
- Numeral-js - 一个用于格式化和操作数字的 javascript 库
- ramda - 一个实用的函数式编程风格的 JavaScript 工具库,查看API
- jszip - 一个使用 JavaScript 创建、读取和编辑 .zip 文件的库
- tinyws - 用于 Node.js 的微型 WebSocket 中间件
- mri - 一个用于获取命令行输入的 flags and arguments 的 JavaScript 库
- FileSaver.js - 一个用于在客户端保存文件的库,支持保存画布, 文件 , URL ,文本等
- dotenv - 一个用于加载 .env 文件的环境变量的库
- squoosh - 一个用于图像压缩并可以让你编码成多种不同的图像格式的库
- pinyin - 一个将汉字转成拼音的库
- china_regions - 一个包含最全最新中国省,市,地区 json 及 sql 数据的库
- party-js - 一个为你的网站添加粒子效果的库,让你的网站变得更加炫酷
- figlet.js - 一个可以帮助你在终端或者浏览器打印出好看的 logo 的库
- terminal-link - 一个帮助你在终端创建可以点击的链接的库
- ip2region - 一个查询 ip 归属地的库
- shelljs - 一个在 node 中很简单地执行 unix shell 命令的库,也有对应的命令行版本
- exceljs - 一个读取,操作并写入电子表格数据和样式到 XLSX 和 JSON 文件的库,相比sheetjs,他有着详细的中文文档和多个代码示例,并且可以修改写入到 XLSX 文件中的样式,相比之下 sheetjs 的很多高级功能则需要付费
- morgan - 一个 nodejs 的日志中间件
- playwright - 一个用于 Web 测试和自动化的框架
- howler.js - 一个 JavaScript 的音频库,让你在所有平台上处理音频变得容易
- video.js - 一个开源的 HTML5 视频播放器,支持 PC 端 和移动端
- atropos - 一个创建 3D 视差悬停效果的 JavaScript 库,支持 Vue,React 等框架具体效果可看站点
- countUp.js - 一个帮助你快速创建以更有趣的方式显示数字数据的动画的库,这里有一个实例,也有对应针对 React 和 Vue 的组件
- oicq - 基于 nodejs 的腾讯 QQ 库,可以调用一些 QQ 的相关 api 写一些小工具
- node-rsa - 一个 node 的 RSA 库,支持生成密钥、长消息的加密解密、签名和验证
- formidable - 一个解析 formdata 格式的库,对于使用 nodejs 做后端的时候想解析 formdata 格式的数据的时候会很有用
- node-mysql2 - mysql 的 JavaScript 客户端,兼容第一版本的mysql - (第一版本的对于 mysql8.0 以上的登陆方式不兼容),同时也推出了一些新功能
- patch-package - 帮助你更好地修改 node_modules 里面的源码,对于这个包的使用,可以看一下这篇教程
- github-webhook-handler - 用于处理 GitHub 的 webhooks 的库,帮助你使用代码监听 GitHub 的 webhooks
- jsplumb - jsPlumb 是一个功能强大,可以用来绘制 DOM 节点间连线的库,可以帮助你绘制流程图
- node-cron - cron for nodejs,类似于 Linux 上的 cron,可用于设置定时任务
- xterm.js - 一个帮助你在 web 上构建终端命令行的库
- dicebear - 一个帮助你的 app 生成随机头像的库
- ArtPlayer - 一个哔哩哔哩风格的视频播放器
- tsup - 一个用来帮助你打包你的 ts library 的工具
- unbuild - 与 tsup 一样,也可以用来打包你的 ts library,相比之下,unbuild 可以打包子目录,而 tsup 则使用起来更简单,更多区别可以看这篇文章
- ncc - 将你的 node 项目打包成一个文件,这在某些特殊场景下会用到,例如 使用 node 编写自己的 GitHub action 时
- toolkit - 一个帮助你方便地使用 node 编写自己的 GitHub action 的工具集
- koishi - 一个跨平台的机器人框架,支持 QQ,Telegram,Discord 等多个平台
- docker-api - nodejs 版的 docker 客户端
- degit - 用于下载 git 仓库,相比于单纯的 git 命令,他下载速度更快,而且不会有.git 文件夹,可以用于脚手架中下载代码模版
- log-update - 用当前的 log 输出覆盖先前的终端中的输出。用于渲染进度条、动画等
- nodemailer - 一个用于发送邮件的 nodejs 库
- PubSubJS - 一个发布订阅模式的 Javascript 库
- configstore - 轻松加载和持久化配置,可以将一些有关用户的数据存储到用户的磁盘中,下次再次运行程序的时候可以读取到最新的数据,一般会在桌面端或者 node 中使用
- vxe-table - 一个 Vue 的 table 组件
- quill - 一个富文本编辑器
- vue-picture-swipe - 一个图片预览组件
- vue-shepherd - 一个基于 shepherd 的网站用户引导组件
- particles-bg-vue - 一个粒子动画背景组件
- giscus-component - 一个基于 GitHub Discussions 的评论系统
- vue.draggable.next - 一个基于 Sortable.js 的 Vue 3 兼容拖放组件
- vue-monaco - 在 Vue 中使用 monaco-editor 的组件
- mathlive - 针对数学公式的 web component ,你可以通过使用这个库很容易地在你的项目中展示数学公式或者创建可交互的数学公式的 input
- vue-termui - 一个基于 vue 的现代的命令行 UI 框架,使用 vue 来构建命令行终端用户界面
- chatgpt-api - chatgpt 的 node 客户端
- modern-errors - 一个错误处理的库,让你使用简单,统一,稳定的方式 handle error
- click-to-component - 可以让你使用 Alt+左键 点击浏览器上的 React 组件即可自动打开 VSCode ,跳转到对应组件的代码
- react-page-transition - 一个给你的 React 页面跳转时添加动画的组件
- react-copy-to-clipboard - 一个一键复制内容到剪切板的组件
- react-zmage - 一个基于 React 的图片缩放组件,让你的图片变得可缩放
- react-wx-images-viewer - 一个通用型的移动端图片预览 React 组件
- react-dnd - 在 React 中实现的拖放操作的库
- react-beautiful-dnd - 一个好看且功能强大的 React 拖拽组件
- immer - 一个让你在 React 中更新状态变得更简单而不需要考虑状态的不可变性
- use-immer - immer 的 hooks 版本,让你写出更加优雅的代码
- babel-plugin-react-css-modules - 让你使用 css-modules 的方式编写 CSS 变得更简单,代码更优雅
- styled-components - 使用 All in js 的方式在 React 中编写 CSS
- classnames - 一个让你有条件地将类名连接在一起 (经常使用在 React 之中)
- hoist-non-react-statics - 一个将非 react 自己的静态方法从子组件复制到父组件中的库(这在封装高阶组件时经常用到)
- tsparticles - 一个粒子动画背景组件,支持 Vue 、React JQuery 等多个框架
- react-toastify - 一个 React 的消息通知组件
- uppy - 一个文件上传器,支持音频,视频,文件等多种上传方式,支持 node , React ,Vue
- avvvatars - 一个用于 React 项目中的漂亮、独特的头像占位符,利用输入的字符串来生成独特的头像
- remax - 使用 React 构建跨平台小程序,不同于 React Native 用于构建多端,remax 只是用来开发小程序的
- tabler-icons - 一组超过 1950 个免费的基于 MIT 的高质量 SVG 图标,可以在任何 Web 应用中使用它
- X6 - 一个使用 SVG 或者 Html 进行渲染的图标库,支持 Vue 、React 、原生 JavaScript ,支持构建流程图,UML 类图, DAG 图等多种图表
- butterfly - 一个基于 JS 的数据驱动的节点式编排组件库 支持 Vue 、React,支持构建流程图,UML 类图, DAG 图,思维导图等多种图表
- react-pdf - 使用 React 创建 PDF 文件
- html5-qrcode - 一个跨平台的 HTML5 二维码扫描器,支持 PC 端,IOS ,Android,使用这个轻量级库可以轻松/快速地将 QR 码、条形码和其他常见的代码扫描功能集成到您的 Web 应用程序中
- react-infinite-scroll-component - 一个基于 React 的无限滚动组件
- remotion- 一个让你使用编程的方式创建视频的 React 组件
- ink - 一个帮助你创建可交互的命令行的 React 组件
- mafs - 用于交互式数学的 React 组件,可以创建可交互的数学函数等等
- react-window - 一个用于创建虚拟列表的 react 组件
- emoji-mart - 一个可自定义的表情符号选择器 react 组件
敬请期待
- any-rule - 一个拥有常见的正则表达式的插件,按 F1,搜索你想要的正则即可,例如搜索手机,则会出现多种有关手机号的正则表达式
- Auto Close Tag - 一个帮助你自动闭合 html 后半部分标签的插件
- Auto Rename Tag - 一个帮助你快速重命名 html 标签的插件
- Bookmarks - 一个利用书签标记,可以让你很好地在各个文件中的代码间切换,帮助你快速找到你标记过的代码
- Class autocomplete for HTML - 自动补全 html 的 class 属性
- Cocos Creator - Cocos Creator 支持 JavaScript 函数跳转,扩展代码提示
- Code Runner - 一个可以一键运行代码片段或代码文件的扩展,支持多种语言
- Code Spell Checker - 一个帮助你检查代码中英语单词的拼写错误的插件,有效地帮助你避免代码中的拼写错误
- CSS Modules - 一个针对 css modules 的扩展
- CSS Tree - 从选定了 html 或者 jsx 生成对应的 css Tree
- Draw.io Integration - 将 draw.io 集成到 vscode 中
- element-ui-helper - 针对 element-ui 的悬停提示和自动补全。 -ES7+ React/Redux/React-Native snippets - react 的代码片段
- Git Graph - 以图表的形式查看 git 的 commit,并从图表中执行 git 操作
- GitLens - 增强 vscode 中的 git
- Highlight Matching Tag - 高亮显示匹配的结束标签和开始标签
- HTML CSS Support - 用于 html 的 css 智能感知
- Image preview - 在代码的最左侧或者鼠标悬停时预览图片
- Javascript Function Comments - 生成 JavaScript 函数注释
- JSON to TS - 将 Json 对象转换成 TS interface
- Less IntelliSense - 针对 less 的自动补全和重构支持
- Live Preview - 在你的工作区启动一个本地服务器,预览网页
- Live Server - 为静态或动态页面开启一个具有实时重新加载功能本地开发服务器
- Material Icon Theme - 一个基于 Material Icon 的 vscode 文件图标的插件
- npm Intellisense - 帮助你在导入 npm 包的时候提供自动补全
- Path Intellisense - 自动补全文件路径
- PicGo - 自动上传图片文件至配置的图床,让你使用 vscode 编写 markdown 变得更舒服
- Remote - SSH - 配合Remote - Containers - 可以让你在 vscode 中连接服务器或者虚拟机
- Svg Preview - 在 vscode 中预览 svg 文件
- Tabnine - 提供多种语言的代码的自动补全,让你的开发效率 up up
- TODO Highlight - 高亮你设置的 TODO, FIXME,还可以自己手动配置高亮其他关键词
- Todo Tree - 以树形视图的形式展示你的 TODO, FIXME,帮助你快速查找 TODO
- Toggle Quotes - 使用 ctrl+' 快捷键帮助你快速切换单词的引号,例如' ' -> " " -> ``
- Vitesse Theme - 一款 vscode 主题,也是我自己现在在用的主题
- Dracula Official - 针对 vscode 的 Dracula 主题
- Easy LESS - 自动在你保存的时候将 less 文件编译成 css 文件,这在你原生开发的时候将会很有帮助,因为相对 css,编写 less 可以让你提高开发效率
- project-tree - 在 README.md 中生成项目的树结构
- volta - 一个工具可以帮助你轻易的管理项目中全局的工具的版本,比如 node 版本, yarn 版本,或者全局安装的 TypeScript 的版本
- deno - 一个 JavaScript 和 TypeScript 的运行时,可以帮助你直接运行 ts 文件
- qnm - 用于查询 node_modules 目录的 cli 实用程序,可以用来查询项目的依赖,帮助你更好的调试某些问题
- esno - 一个帮助你运行 ts 文件或者 ESM 模块的库
- koodo-reader - 一个用来管理你的电子书的桌面端软件
- n8n - n8n 是一个可扩展的工作流自动化工具,让你用可视化的方式来实现一些自动化的任务
如果您有什么实用的库或者组件,欢迎您分享出来,帮助到更多的人,欢迎您的PR