Maison  >  Article  >  interface Web  >  Vous guidez étape par étape pour développer un outil de compression en ligne de commande à l'aide de node

Vous guidez étape par étape pour développer un outil de compression en ligne de commande à l'aide de node

青灯夜游
青灯夜游avant
2022-06-07 17:55:312128parcourir

Cet article partagera avec vous une application pratique de node Il vous guidera étape par étape pour développer un outil de compression en ligne de commande utilisant node. J'espère que cela sera utile à tout le monde !

Vous guidez étape par étape pour développer un outil de compression en ligne de commande à l'aide de node

bonjour, j'ai récemment écrit un outil en ligne de commande pour compresser des fichiers, et j'aimerais le partager avec vous aujourd'hui.

Cause

  • En raison de circonstances irrésistibles dans l'ancienne entreprise, j'ai récemment changé de travail et le gars qui mange est également passé de Mac à Win. Lorsque j'utilisais Mac auparavant, j'étais habitué aux opérations de terminal. J'utilise Win. Pas très adaptable, bien que le powershell fourni avec Win soit également très puissant. powershell 也很强大。

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

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

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

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

Vous guidez étape par étape pour développer un outil de compression en ligne de commande à laide de 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

Les projets développés au travail doivent être compressés dans des packages compressés avant les tests, puis téléchargés sur l'application de bureau correspondante pour les tests.

La plupart des logiciels de compression téléchargés en ligne sont livrés avec des publicités, ce qui est ennuyeuxLa commande de compression de powershell est trop longue et peu pratique à utiliser, et une fois que l'IDE de l'application de bureau est mis à niveau, les fichiers compressés via Compress-Archive ne peuvent pas être analysés correctement. La dernière raison est que je ne veux plus apprendre les commandes powershell ! ! !
 Vous guidez étape par étape pour développer un outil de compression en ligne de commande à laide de node
Pour les raisons ci-dessus, j'ai écrit un outil de compression en utilisant Comparaison Utilisez fzip pour la compression
pnpm install @lxqddd/fzip -g
Utilisez Compress-Archive pour la compression
.
├── LICENSE
├── README.md
├── gulpfile.js
├── package.json
├── src
│   ├── cli.ts
│   ├── core
│   │   └── index.ts
│   ├── types
│   │   └── index.ts
│   └── utils
│       └── index.ts
├── tsconfig.json
└── yarn.lock

Comment utiliserUtilisez yarn pour installer
nodejs fzip

Comparons avec Compress-Archive
Les deux instructions ci-dessus compresseront le répertoire de test du répertoire actuel dans un package zip, mais les instructions pour utiliser powershell sont vraiment longues ! Bien sûr, fzip prend également en charge la spécification de l'emplacement de sortie et le nom du package compressé. Non seulement cela, il prend également en charge la définition du niveau de compression ! Vous trouverez une documentation détaillée ci-dessous !
Utilisez npm pour installer
# 指令执行之后会在 `src` 的同级目录输出一个 `src.zip` 的压缩包
fzip -f ./src
# 指令执行之后会在桌面上输出一个 `src.zip` 的压缩包
fzip -f ./src -o ~/Desktop

Installer en utilisant pnpm Source cible (sélection obligatoire)

  • -o
Output
  • Emplacement de sortie du produit compressé (facultatif, s'il n'est pas transmis, ce sera le répertoire source en même temps niveau)
  • -l
Level
  • Niveau de compression 0 ~ 9 (facultatif, s'il n'est pas transmis, la valeur par défaut est 6)

-n
  • Nom
Nom du package compressé (facultatif, s'il n'est pas transmis , la valeur par défaut est le nom du fichier ou du répertoire). reee

Renommez

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

Les répertoires de compression mentionnés ci-dessus, et vous pouvez également compresser des fichiers individuels. La méthode d'utilisation est similaire, il suffit de saisir simplement le chemin pointant vers le fichier cible compressé

Compresser un seul fichier

# 指令执行之后会在 `src` 的通级目录下输出一个名为 `test.zip` 的压缩包
fzip -f ./src -n test
🎜🎜 Adresse du projet : https://github.com/lxqddd/FZip🎜🎜🎜Si vous pensez que l'écriture est bonne, bienvenue à nous rejoindre~ 🎜🎜Pour plus de connaissances sur les nœuds, veuillez visiter : 🎜tutoriel Nodejs🎜 ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer