自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

這些Node開源工具你值得擁有(上)

開發(fā) 開發(fā)工具
或許你跟我一樣會有一個疑惑,github上其實已經(jīng)有個同類型的awesome-nodejs庫且還高達41k⭐,重新維護一個新的意義何在?當你深入對比后,本質(zhì)上還是有差別的,一個是分類體系粒度更細,其次是對中文更友好的翻譯維護,也包括了對國內(nèi)一些優(yōu)秀的開源庫的收錄。

[[409247]]

本文轉(zhuǎn)載自微信公眾號「前端那些趣事」,作者樹醬君。轉(zhuǎn)載本文請聯(lián)系前端那些趣事公眾號。

通過閱讀 awesome-nodejs 庫的收錄,我抽取其中一些應用場景比較多的分類,通過分類涉及的應用場景跟大家分享工具

1.Git

1.1 應用場景1: 要實現(xiàn)git提交前 eslint 校驗和 commit 信息的規(guī)范校驗?

可以使用以下工具:

  • husky - 現(xiàn)代化的本地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倉庫?(可用于開發(fā)腳手架)

可以使用以下工具:

  • download-git-repo - 下載和提取Git倉庫 (支持GitHub, GitLab, Bitbucket)。

1.3 應用場景3: 如何在終端看git 流程圖?

可以使用以下工具:

  • gitgraph - 在 Terminal 繪制 git 流程圖(支持瀏覽器、React)。

1.4 其他

  • git-url-parse - 高級別git解析。
  • giturl - 將Git鏈接轉(zhuǎn)化成Web鏈接。

2.環(huán)境

2.1 應用場景1: 如何根據(jù)不同環(huán)境寫入不同環(huán)境變量?

可以使用以下工具:

  • cross-env - 跨平臺環(huán)境腳本的設置,你可以通過一個簡單的命令(設置環(huán)境變量)而不用擔心設置或者使用環(huán)境變量的平臺。
  • dotenv - 從 .env文件 加載用于nodejs項目的環(huán)境變量。
  • vue-cli --mode - 可以通過傳遞 --mode 選項參數(shù)為命令行覆寫默認的模式

3.NPM

3.1 應用場景1: 如何切換不同npm源?

可以使用以下工具:

  • nrm - 快速切換npm注冊服務商,如npm、cnpm、nj、taobao等,也可以切換到內(nèi)部的npm源
  • pnpm - 可比yarn,npm 更節(jié)省了大量與項目和依賴成比例的硬盤空間

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 帶參數(shù)的簡寫,分別對應串行和并行。而且還支持匹配分隔符,可以簡化script配置

或者使用

concurrently - 并行執(zhí)行命令,類似 npm run watch-js & npm run watch-less但更優(yōu)。(不過它只能并行)

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:如何實現(xiàn)日志分類?

log4js-nodey - 不同于Java log4j的日志記錄庫。

consola - 優(yōu)雅的Node.js和瀏覽器日志記錄庫。

winston - 多傳輸異步日志記錄庫(古老)

6.命令行工具

6.1 應用場景1: 如何解析命令行輸入?

我們第一印象會想到的是process.argv,那么還有什么工具可以解析嗎?

可以使用以下工具:

  • minimist - 命令行參數(shù)解析引擎
  • arg - 簡單的參數(shù)解析
  • nopt - Node/npm 參數(shù)解析

6.2 應用場景2:如何讓用戶能與命令行進行交互?

可以使用以下工具:

  • Inquirer.js - 通用可交互命令行工具集合。
  • prompts - 輕量、美觀、用戶友好的交互式命令行提示。
  • Enquirer - 用戶友好、直觀且易于創(chuàng)建的時尚CLI提示。

6.3 應用場景3: 如何在命令行中顯示進度條?

可以使用以下工具:

  • progress - Node.js的靈活ascii進度條。
  • progress-estimator - 記錄進度條并估計完成承諾所需的時間。

6.4 應用場景4: 如何在命令行執(zhí)行多任務?

可以使用以下工具:

  • listr - 命令行任務列表。

6.5 應用場景5: 如何給命令行“錦上添花”?

可以使用以下工具:

  • chalk - 命令行字符串樣式美化工具。
  • ora - 優(yōu)雅的命令行l(wèi)oading效果。
  • colors.js - 獲取Node.js控制臺的顏色。
  • qrcode-terminal - 命令行中顯示二維碼。
  • treeify - 將javascript對象漂亮地打印為樹。
  • kleur - 最快的Node.js庫,使用ANSI顏色格式化命令行文本。

感興趣的童鞋可以參考樹醬的從0到1開發(fā)簡易腳手架,其中有實踐部分工具

7.加解密

一般為了項目安全性考慮,我們通常會對賬號密碼進行加密,一般會通過MD5、AES、SHA1、SM,那開源社區(qū)有哪些庫可以方便我們使用?

可以使用以下工具:

  • crypto-js - JavaScript加密標準庫。支持算法最多
  • node-rsa - Node.js版Bcrypt。
  • node-md5 - 一個JavaScript函數(shù),用于使用MD5對消息進行哈希處理。
  • aes-js - AES的純JavaScript實現(xiàn)。
  • sm-crypto - 國密sm2, sm3, sm4的JavaScript實現(xiàn)。
  • sha.js - 使用純JavaScript中的流式SHA哈希。

8.靜態(tài)網(wǎng)站生成 & 博客

一鍵生成網(wǎng)站不香嗎~ 基于node體系快速搭建自己的博客網(wǎng)站,你值得擁有,也可以作為組件庫文檔展示

可以使用以下工具:

  • hexo - 使用Node.js的快速,簡單,強大的博客框架。
  • vuepress - 極簡的Vue靜態(tài)網(wǎng)站生成工具。(基于nuxt SSR)
  • netlify-cms - 基于Git的靜態(tài)網(wǎng)站生成工具。
  • vitepress - Vite & Vue.js靜態(tài)網(wǎng)站生成工具。

9.數(shù)據(jù)校驗工具

數(shù)據(jù)校驗,離我們最近的就是表單數(shù)據(jù)的校驗,在平時使用的組件庫比如element、iview等我們會看到使用了一個開源的校驗工具async-validator, 那還有其他嗎?

可以使用以下工具:

  • validator.js - 字符串校驗庫。
  • joi - 基于JavaScript對象的對象模式描述語言和驗證器。
  • async-validator - 異步校驗。
  • ajv - 最快的JSON Schema驗證器
  • superstruct - 用簡單和可組合的方式在JavaScript和TypeScript中校驗數(shù)據(jù)。

10.解析工具

10.1應用場景1: 如何解析markdown?

可以使用以下工具:

  • marked - Markdown解析器和編譯器,專為提高速度而設計。
  • remark - Markdown處理工具。
  • markdown-it -支持100%通用Markdown標簽解析的擴展&語法插件。

10.2應用場景2: 如何解析csv?

可以使用以下工具:

  • PapaParse - 快速而強大的 CSV(分隔文本)解析器,可以優(yōu)雅地處理大文件和格式錯誤的輸入。
  • node-csv - 具有簡單api的全功能CSV解析器,并針對大型數(shù)據(jù)集進行了測試。
  • csv-parser -旨在比其他任何人都快的流式CSV解析器。

10.3應用場景3: 如何解析xml?

可以使用以下工具:

  • xml2js - 將XML轉(zhuǎn)換為JavaScript對象的轉(zhuǎn)換器。
  • fast-xml-parser - 具驗證&解析 XML。

最后

如果你喜歡這個庫,也給作者huaize2020 一個star 倉庫地址:awesome-nodejs昨天看到一段話想分享給大家

對于一個研發(fā)測的日常:

1.開始工作的第一件事,規(guī)劃今日的工作內(nèi)容安排 (建議有清晰的ToDolist,且按優(yōu)先級排序)

2.確認工作量與上下游關聯(lián)風險(如依賴他人的,能否按時提供出來);有任何風險,盡早暴露

3.注意時間成本、不是任何事情都是值得你用盡所有時間去做的,分清主次關系

4.協(xié)作任務,明確邊界責任,不要出現(xiàn)誰都不管,完成任務后及時同步給相關人

 

5.及時總結(jié)經(jīng)驗,沉淀技術產(chǎn)出實現(xiàn)能力復用,同類型任務,不用從零開始,避免重復工作

 

責任編輯:武曉燕 來源: 前端那些趣事
相關推薦

2021-03-18 07:52:42

代碼性能技巧開發(fā)

2016-07-28 09:37:30

開源協(xié)作軟件Collabtive

2022-08-08 07:35:37

云測試工具云存儲云計算

2020-06-15 14:43:16

Python開發(fā)工具

2014-12-19 10:55:17

Linux性能監(jiān)控

2020-09-01 07:41:56

macOS工具

2021-09-06 10:22:47

匿名對象編程

2023-12-29 08:17:26

Python代碼分析Profile

2019-07-31 10:00:26

Github后臺控制面板框架

2021-01-21 09:45:16

Python字符串代碼

2014-04-09 09:12:08

2012-03-01 09:15:41

HTML 5

2020-07-21 14:20:09

MySQL數(shù)據(jù)庫工具

2020-12-14 13:32:40

Python進度條參數(shù)

2022-06-26 18:09:43

Linux開源

2024-01-04 08:33:11

異步JDK數(shù)據(jù)結(jié)構(gòu)

2024-12-18 16:53:13

ncduLinux磁盤分析

2018-05-09 19:29:49

Python爬蟲scrapy

2020-10-09 11:54:33

Vue用戶的React

2022-06-28 09:44:21

DevOps軟件開發(fā)
點贊
收藏

51CTO技術棧公眾號