共计 3840 个字符,预计需要花费 10 分钟才能阅读完成。
前言:文章的灵感来源于,社群中某大佬分享一个本人耗时数月保护的 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✨