前言:文章的灵感来源于,社群中某大佬分享一个本人耗时数月保护的github我的项目 awesome-nodejs
。或者你跟我一样会有一个纳闷,github上其实曾经有个同类型的awesome-nodejs库且还高达41k⭐,从新保护一个新的意义何在? 当你深刻比照后,实质上还是有差异的,一个是分类体系粒度更细,其次是对中文更敌对的翻译保护,也包含了对国内一些优良的开源库的收录。最初我集体认为通过本人梳理,也能更好地做复盘和总结
通过浏览 awesome-nodejs
库的收录,我抽取其中一些利用场景比拟多的分类,通过分类波及的利用场景跟大家分享工具
1.Git
1.1 利用场景1: 要实现git提交前 eslint 校验和 commit 信息的标准校验?
能够应用以下工具:
husky
- 现代化的本地Git钩子使操作更加轻松pre-commit
- 主动在您的git储存库中装置git pre-commit脚本,该脚本在pre-commit上运行您的npm test。yorkie
尤大改写的yorkie,yorkie理论是fork husky,让 Git 钩子变得简略(在 vue-cli 3x 中应用)
1.2 利用场景2: 如何通过node拉取git仓库?(可用于开发脚手架)
能够应用以下工具:
download-git-repo
- 下载和提取Git仓库 (反对GitHub, GitLab, Bitbucket)。
1.3 利用场景3: 如何在终端看git 流程图?
能够应用以下工具:
gitgraph
- 在 Terminal 绘制 git 流程图(反对浏览器、React)。
1.4 其余
git-url-parse
- 高级别git解析。giturl
- 将Git链接转化成Web链接。
2.环境
2.1 利用场景1: 如何依据不同环境写入不同环境变量?
能够应用以下工具:
cross-env
- 跨平台环境脚本的设置,你能够通过一个简略的命令(设置环境变量)而不必放心设置或者应用环境变量的平台。dotenv
- 从 .env文件 加载用于nodejs我的项目的环境变量。vue-cli --mode
- 能够通过传递 --mode 选项参数为命令行覆写默认的模式
3.NPM
3.1 利用场景1: 如何切换不同npm源?
能够应用以下工具:
nrm
- 疾速切换npm注册服务商,如npm、cnpm、nj、taobao等,也能够切换到外部的npm源pnpm
- 可比yarn,npm 更节俭了大量与我的项目和依赖成比例的硬盘空间
3.2 利用场景2: 如何读取package.json信息?
能够应用以下工具:
read-pkg-up
- 读取最近的package.json文件。node-pkginfo
- 从package.json读取属性的简略办法。
3.3 利用场景3:如何查看以后package.json依赖容许的更新的版本
能够应用以下工具:
npm-check-updates
- 找以后package.json依赖容许的更新的版本。
3.4 利用场景4:如何同时运行多个npm脚本
通常咱们要运行多脚本或者会是这样npm run build:css && npm run build:js
,设置会更长通过&
来拼接
能够应用以下工具:
npm-run-all
- 命令行工具,同时运行多个npm脚本(并行或串行)
npm-run-all提供了三个命令,别离是 npm-run-all run-s run-p,后两者是 npm-run-all 带参数的简写,别离对应串行和并行。而且还反对匹配分隔符,能够简化script配置
或者应用
concurrently
- 并行执行命令,相似 npm run watch-js & npm run watch-less但更优。(不过它只能并行)
3.5 利用场景5:如何查看NPM模块未应用的依赖。
能够应用以下工具:
depcheck
- 查看你的NPM模块未应用的依赖。
3.6 其余:
npminstall
- 使 npm install 更快更容易,cnpm默认应用semver
- NPM应用的JavaScript语义化版本号解析器。
对于npm包在线查问,举荐一个利器 npm.devtool.tech
4.文档生成
4.1 利用场景1:如何主动生成api文档?
docsify
- API文档生成器。jsdoc
- API文档生成器,相似于JavaDoc或PHPDoc。
5.日志工具
5.1 利用场景1:如何实现日志分类?
log4js-nodey
- 不同于Java log4j的日志记录库。consola
- 优雅的Node.js和浏览器日志记录库。winston
- 多传输异步日志记录库(古老)
6.命令行工具
6.1 利用场景1: 如何解析命令行输出?
咱们第一印象会想到的是process.argv
,那么还有什么工具能够解析吗?
能够应用以下工具:
minimist
- 命令行参数解析引擎arg
- 简略的参数解析nopt
- Node/npm 参数解析
6.2 利用场景2:如何让用户能与命令行进行交互?
能够应用以下工具:
Inquirer.js
- 通用可交互命令行工具汇合。prompts
- 轻量、好看、用户敌对的交互式命令行提醒。Enquirer
- 用户敌对、直观且易于创立的时尚CLI提醒。
6.3 利用场景3: 如何在命令行中显示进度条?
能够应用以下工具:
progress
- Node.js的灵便ascii进度条。progress-estimator
- 记录进度条并预计实现承诺所需的工夫。
6.4 利用场景4: 如何在命令行执行多任务?
能够应用以下工具:
listr
- 命令行工作列表。
6.5 利用场景5: 如何给命令行“精益求精”?
能够应用以下工具:
chalk
- 命令行字符串款式丑化工具。ora
- 优雅的命令行loading成果。colors.js
- 获取Node.js控制台的色彩。qrcode-terminal
- 命令行中显示二维码。treeify
- 将javascript对象丑陋地打印为树。kleur
- 最快的Node.js库,应用ANSI色彩格式化命令行文本。
7.加解密
个别为了我的项目安全性思考,咱们通常会对账号密码进行加密,个别会通过MD5、AES、SHA1、SM,那开源社区有哪些库能够不便咱们应用?
能够应用以下工具:
crypto-js
- JavaScript加密规范库。反对算法最多node-rsa
- Node.js版Bcrypt。node-md5
- 一个JavaScript函数,用于应用MD5对音讯进行哈希解决。aes-js
- AES的纯JavaScript实现。sm-crypto
- 国密sm2, sm3, sm4的JavaScript实现。sha.js
- 应用纯JavaScript中的流式SHA哈希。
8.动态网站生成 & 博客
一键生成网站不香吗~ 基于node体系疾速搭建本人的博客网站,你值得领有,也能够作为组件库文档展现
能够应用以下工具:
hexo
- 应用Node.js的疾速,简略,弱小的博客框架。vuepress
- 极简的Vue动态网站生成工具。(基于nuxt SSR)netlify-cms
- 基于Git的动态网站生成工具。vitepress
- Vite & Vue.js动态网站生成工具。
9.数据校验工具
数据校验,离咱们最近的就是表单数据的校验,在平时应用的组件库比方element、iview等咱们会看到应用了一个开源的校验工具async-validator
, 那还有其余吗?
能够应用以下工具:
validator.js
- 字符串校验库。joi
- 基于JavaScript对象的对象模式描述语言和验证器。async-validator
- 异步校验。ajv
- 最快的JSON Schema验证器superstruct
- 用简略和可组合的形式在JavaScript和TypeScript中校验数据。
10.解析工具
10.1利用场景1: 如何解析markdown?
能够应用以下工具:
marked
- Markdown解析器和编译器,专为进步速度而设计。remark
- Markdown解决工具。markdown-it
-反对100%通用Markdown标签解析的扩大&语法插件。
10.2利用场景2: 如何解析csv?
能够应用以下工具:
PapaParse
- 疾速而弱小的 CSV(分隔文本)解析器,能够优雅地解决大文件和格局谬误的输出。node-csv
- 具备简略api的全功能CSV解析器,并针对大型数据集进行了测试。csv-parser
-旨在比其余任何人都快的流式CSV解析器。
10.3利用场景3: 如何解析xml?
能够应用以下工具:
xml2js
- 将XML转换为JavaScript对象的转换器。fast-xml-parser
- 具验证&解析 XML。
最初
如果你喜爱这个库,也给作者huaize2020
一个star 仓库地址:awesome-nodejs
昨天看到一段话想分享给大家
对于一个研发测的日常:
- 1.开始工作的第一件事,布局今日的工作内容安顿 (倡议有清晰的ToDolist,且按优先级排序)
- 2.确认工作量与上下游关联危险(如依赖别人的,是否按时提供进去);有任何危险,尽早裸露
- 3.留神工夫老本、不是任何事件都是值得你用尽所有工夫去做的,分清主次关系
- 4.合作工作,明确边界责任,不要呈现谁都不论,实现工作后及时同步给相干人
- 5.及时总结经验,积淀技术产出实现能力复用,同类型工作,不必从零开始,防止反复工作
你好,我是 树酱,请你喝杯 记得三连哦~
1.浏览完记得点个赞哦,有 有能源
2.关注公众号前端那些趣事,陪你聊聊前端的趣事
3.文章收录在Github frontendThings 感激Star✨