<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 4735字,需瀏覽 10分鐘

           ·

          2021-07-12 03:03

          ?

          前言:文章的靈感來源于,社群中某大佬分享一個自己耗時數(shù)月維護的github項目 awesome-nodejs 。或許你跟我一樣會有一個疑惑,github上其實已經(jīng)有個同類型的awesome-nodejs庫且還高達41k?,重新維護一個新的意義何在?當(dāng)你深入對比后,本質(zhì)上還是有差別的,一個是分類體系粒度更細,其次是對中文更友好的翻譯維護,也包括了對國內(nèi)一些優(yōu)秀的開源庫的收錄。最后我個人認(rèn)為通過自己梳理,也能更好地做復(fù)盤和總結(jié)

          ?

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

          1.Git

          1.1 應(yīng)用場景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 應(yīng)用場景2: 如何通過node拉取git倉庫?(可用于開發(fā)腳手架)

          可以使用以下工具:

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

          1.3 應(yīng)用場景3: 如何在終端看git 流程圖?

          可以使用以下工具:

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

          1.4 其他

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

          2.環(huán)境

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

          可以使用以下工具:

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

          3.NPM

          3.1 應(yīng)用場景1: 如何切換不同npm源?

          可以使用以下工具:

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

          3.2 應(yīng)用場景2: 如何讀取package.json信息?

          可以使用以下工具:

          • read-pkg-up -   讀取最近的package.json文件。
          • node-pkginfo -  從package.json讀取屬性的簡單方法。

          3.3 應(yīng)用場景3:如何查看當(dāng)前package.json依賴允許的更新的版本

          可以使用以下工具:

          • npm-check-updates -   找當(dāng)前package.json依賴允許的更新的版本。

          3.4 應(yīng)用場景4:如何同時運行多個npm腳本

          ?

          通常我們要運行多腳本或許會是這樣npm run build:css && npm run build:js ,設(shè)置會更長通過&來拼接

          ?

          可以使用以下工具:

          • npm-run-all -   命令行工具,同時運行多個npm腳本(并行或串行)

          npm-run-all提供了三個命令,分別是 npm-run-all run-s run-p,后兩者是 npm-run-all 帶參數(shù)的簡寫,分別對應(yīng)串行和并行。而且還支持匹配分隔符,可以簡化script配置

          或者使用

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

          3.5 應(yīng)用場景5:如何檢查NPM模塊未使用的依賴。

          可以使用以下工具:

          • depcheck -  檢查你的NPM模塊未使用的依賴。

          3.6 其他:

          • npminstall - 使 npm install 更快更容易,cnpm默認(rèn)使用
          • semver - NPM使用的JavaScript語義化版本號解析器。

          關(guān)于npm包在線查詢,推薦一個利器 npm.devtool.tech


          4.文檔生成

          4.1 應(yīng)用場景1:如何自動生成api文檔?

          • docsify -   API文檔生成器。
          • jsdoc -  API文檔生成器,類似于JavaDoc或PHPDoc。

          5.日志工具

          5.1 應(yīng)用場景1:如何實現(xiàn)日志分類?

          • log4js-nodey -  不同于Java log4j的日志記錄庫。
          • consola  - 優(yōu)雅的Node.js和瀏覽器日志記錄庫。
          • winston - 多傳輸異步日志記錄庫(古老)

          6.命令行工具

          6.1 應(yīng)用場景1: 如何解析命令行輸入?

          ?

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

          ?

          可以使用以下工具:

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

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

          image.png

          可以使用以下工具:

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

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

          可以使用以下工具:

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

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

          image.png

          可以使用以下工具:

          • listr -  命令行任務(wù)列表。

          6.5 應(yīng)用場景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加密標(biāo)準(zhǔn)庫。支持算法最多
          • 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應(yīng)用場景1: 如何解析markdown?

          可以使用以下工具:

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

          10.2應(yīng)用場景2: 如何解析csv?

          可以使用以下工具:

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

          10.3應(yīng)用場景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.確認(rèn)工作量與上下游關(guān)聯(lián)風(fēng)險(如依賴他人的,能否按時提供出來);有任何風(fēng)險,盡早暴露
          • 3.注意時間成本、不是任何事情都是值得你用盡所有時間去做的,分清主次關(guān)系
          • 4.協(xié)作任務(wù),明確邊界責(zé)任,不要出現(xiàn)誰都不管,完成任務(wù)后及時同步給相關(guān)人
          • 5.及時總結(jié)經(jīng)驗,沉淀技術(shù)產(chǎn)出實現(xiàn)能力復(fù)用,同類型任務(wù),不用從零開始,避免重復(fù)工作


          瀏覽 37
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  男女性爱视频免费观看 | 我想看韩国毛片 | 国产毛片毛片毛片操逼视频 | 三级在线网站 | 性感欧美美女被操的视频 |