首頁  >  文章  >  web前端  >  手把手帶你使用node開發一個命令列壓縮工具

手把手帶你使用node開發一個命令列壓縮工具

青灯夜游
青灯夜游轉載
2022-06-07 17:55:312048瀏覽

這篇文章跟大家分享一個node實戰,手把手帶你使用node開發一個命令列壓縮工具,希望對大家有幫助!

手把手帶你使用node開發一個命令列壓縮工具

hello,最近寫了一個壓縮檔案的命令列工具,今天分享給大家。

起因

  • 由於前公司一些不可抗的情況,最近換了工作,吃飯的傢伙也從Mac轉成了Win,之前用Mac的時候,習慣了終端操作,現在用Win,感覺不是很適應,儘管Win自帶的powershell 也很強大。

  • 工作中開發的專案在測試的時候需要先壓縮成壓縮包,再上傳到對應的桌面應用測試。

  • 在網路上下載的壓縮軟體大都捆綁的有廣告,hen~煩

  • powershell 的壓縮指令太長了,用起來不方便,桌面應用ide升級之後,經過Compress-Archive 壓縮的檔案不能被正確的解析。

  • 最後一個原因,我不想再去學 powershell 的指令了! ! !

手把手帶你使用node開發一個命令列壓縮工具

綜合上述的原因,我用nodejs寫了一個壓縮工具fzip

對比

來跟Compress-Archive 做比較

  • 使用fzip 壓縮
fzip -f ./test
  • 使用Compress-Archive 進行壓縮
Compress-Archive -Path ./test -DestinationPath ./test.zip
# 解释一下参数
# -Path 来源
# -DestinationPath 输出位置

上邊兩個指令都會將目前目錄下的test目錄壓縮成一個zip包,但是使用powershell 的指令真的很長啊有木有!

當然了,fzip 也是支援指定輸出位置和命名壓縮套件的,不僅如此,還支援設定壓縮等級!下邊會有詳細的文件供您食用!

使用方法

  • 使用npm# 安裝
npm install @lxqddd/fzip -g
  • 使用yarn 安裝
yarn install @lxqddd/fzip -g
  • 使用pnpm 安裝
pnpm install @lxqddd/fzip -g

##參數說明

參數參數來源參數註解-fFrom壓縮目標來源(必選)-oOutput壓縮產物輸出位置(可選,不傳則為來源同級目錄)-lLevel壓縮等級0~9(可選,不傳則預設為6)-nName壓縮套件名稱(可選,不傳則預設為檔案或目錄的名字)

使用範例
.
├── LICENSE
├── README.md
├── gulpfile.js
├── package.json
├── src
│   ├── cli.ts
│   ├── core
│   │   └── index.ts
│   ├── types
│   │   └── index.ts
│   └── utils
│       └── index.ts
├── tsconfig.json
└── yarn.lock

    #基礎用法
  • # 指令执行之后会在 `src` 的同级目录输出一个 `src.zip` 的压缩包
    fzip -f ./src
    #指定輸出位置
  • # 指令执行之后会在桌面上输出一个 `src.zip` 的压缩包
    fzip -f ./src -o ~/Desktop
    指定壓縮等級
  • # 压缩产物的压缩级别为 9
    fzip -f ./src -o ~/Desktop -l 9
    重命名
  • # 指令执行之后会在 `src` 的通级目录下输出一个名为 `test.zip` 的压缩包
    fzip -f ./src -n test
上邊說的都是壓縮目錄的,也可以壓縮單一文件,使用方法類似,只需要將輸入路徑指向被壓縮的目標文件即可

    壓縮單一文件
  • # 指令执行之后会在桌面输出一个名为 `test.zip` 的压缩包
    fzip -f ./src/cli.ts -o ~/Desktop -n test -l 9
專案位址:https ://github.com/lxqddd/FZip

如果你覺得寫的不錯的話,歡迎三連~

更多node相關知識,請訪問:

nodejs教程

以上是手把手帶你使用node開發一個命令列壓縮工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除