Heim  >  Artikel  >  Web-Frontend  >  Führen Sie Sie Schritt für Schritt durch die Entwicklung eines Befehlszeilenkomprimierungstools mithilfe von node

Führen Sie Sie Schritt für Schritt durch die Entwicklung eines Befehlszeilenkomprimierungstools mithilfe von node

青灯夜游
青灯夜游nach vorne
2022-06-07 17:55:312128Durchsuche

Dieser Artikel zeigt Ihnen eine praktische Anwendung von node. Er führt Sie Schritt für Schritt durch die Entwicklung eines Befehlszeilenkomprimierungstools mit Node. Ich hoffe, dass es für alle hilfreich ist.

Führen Sie Sie Schritt für Schritt durch die Entwicklung eines Befehlszeilenkomprimierungstools mithilfe von node

Hallo, ich habe kürzlich ein Befehlszeilentool zum Komprimieren von Dateien geschrieben und möchte es heute mit Ihnen teilen.

Ursache

  • Aufgrund einiger unwiderstehlicher Umstände in der ehemaligen Firma habe ich kürzlich den Job gewechselt und der Typ, der isst, ist auch von Mac auf Win umgestiegen, als ich jetzt an Terminaloperationen gewöhnt war Ich verwende Win. Nicht sehr anpassungsfähig, obwohl die mit Win gelieferte Powershell auch sehr leistungsfähig ist. powershell 也很强大。

  • 工作中开发的项目在测试的时候需要先压缩成压缩包,再上传到对应的桌面应用测试。

  • 在网上下载的压缩软件大都捆绑的有广告,hen~烦

  • powershell 的压缩命令太长了,用起来不方便,并且桌面应用ide升级之后,通过 Compress-Archive 压缩的文件不能被正确的解析。

  • 最后一个原因,我不想再去学 powershell 的指令了!!!

Führen Sie Sie Schritt für Schritt durch die Entwicklung eines Befehlszeilenkomprimierungstools mithilfe von 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

Die bei der Arbeit entwickelten Projekte müssen vor dem Testen in komprimierte Pakete komprimiert und dann zum Testen in die entsprechende Desktop-Anwendung hochgeladen werden.

Der Großteil der aus dem Internet heruntergeladenen Komprimierungssoftware ist mit Werbung gebündelt, was ärgerlich ist. Der Komprimierungsbefehl von powershell ist zu lang und unpraktisch in der Verwendung und folgt der Desktop-Anwendung ide wurde aktualisiert, über Compress-Archive komprimierte Dateien können nicht korrekt analysiert werden. Der letzte Grund ist, dass ich die powershell-Befehle nicht mehr lernen möchte! ! !
 Führen Sie Sie Schritt für Schritt durch die Entwicklung eines Befehlszeilenkomprimierungstools mithilfe von node
Aus den oben genannten Gründen habe ich ein Komprimierungstool mit Vergleich geschrieben Verwenden Sie fzip zur Komprimierung
pnpm install @lxqddd/fzip -g
Verwenden Sie Compress-Archive zur Komprimierung
.
├── LICENSE
├── README.md
├── gulpfile.js
├── package.json
├── src
│   ├── cli.ts
│   ├── core
│   │   └── index.ts
│   ├── types
│   │   └── index.ts
│   └── utils
│       └── index.ts
├── tsconfig.json
└── yarn.lock

So verwenden SieVerwenden Sie yarn, um
nodejs fzip

Vergleichen wir mit Compress-Archive
Mit den beiden oben genannten Anweisungen wird das Testverzeichnis im aktuellen Verzeichnis in ein ZIP-Paket komprimiert, aber die Anweisungen zur Verwendung von powershell sind wirklich lang! Natürlich unterstützt fzip auch die Angabe des Ausgabeorts und die Benennung des komprimierten Pakets. Darüber hinaus unterstützt es auch das Festlegen der Komprimierungsstufe! Nachfolgend finden Sie eine ausführliche Dokumentation für Sie!
Verwenden Sie npm, um
# 指令执行之后会在 `src` 的同级目录输出一个 `src.zip` 的压缩包
fzip -f ./src
zu installieren
# 指令执行之后会在桌面上输出一个 `src.zip` 的压缩包
fzip -f ./src -o ~/Desktop

Installation mit pnpm Zielquelle (erforderlich auswählen)

  • -o
Ausgabe
  • Komprimierter Produktausgabeort (optional, wenn nicht übergeben, ist es gleichzeitig das Quellverzeichnis level)
  • -l
Level
  • Komprimierungsstufe 0~9 (optional, wenn nicht übergeben, ist der Standardwert 6)

-n
  • Name
Komprimierter Paketname (optional, wenn nicht übergeben (Der Standardwert ist der Name der Datei oder des Verzeichnisses)

# 压缩产物的压缩级别为 9
fzip -f ./src -o ~/Desktop -l 9

Umbenennen

# 指令执行之后会在 `src` 的通级目录下输出一个名为 `test.zip` 的压缩包
fzip -f ./src -n test

Bei den oben genannten Themen geht es um das Komprimieren von Verzeichnissen, und Sie können auch einzelne Dateien komprimieren. Die Verwendungsmethode ist ähnlich, Sie müssen nur den Pfad eingeben, der auf die komprimierte Zieldatei zeigt

Eine einzelne Datei komprimieren🎜🎜
# 指令执行之后会在桌面输出一个名为 `test.zip` 的压缩包
fzip -f ./src/cli.ts -o ~/Desktop -n test -l 9
🎜🎜Projektadresse: https://github.com/lxqddd/FZip🎜🎜🎜Wenn Sie der Meinung sind, dass das Schreiben gut ist, sind Sie herzlich willkommen, sich uns anzuschließen ~ 🎜🎜Weitere Informationen zu Knoten finden Sie unter: 🎜nodejs-Tutorial🎜! 🎜

Das obige ist der detaillierte Inhalt vonFühren Sie Sie Schritt für Schritt durch die Entwicklung eines Befehlszeilenkomprimierungstools mithilfe von node. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen