关于前端:这些node开源工具你值得拥有上

34次阅读

共计 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✨

正文完
 0