0

0

手把手带你使用node开发一个命令行压缩工具

青灯夜游

青灯夜游

发布时间:2022-06-07 17:55:31

|

2494人浏览过

|

来源于掘金社区

转载

本篇文章给大家分享一个node实战,手把手带你使用node开发一个命令行压缩工具,希望对大家有所帮助!

手把手带你使用node开发一个命令行压缩工具

hello,最近写了一个压缩文件的命令行工具,今天分享给大家。

起因

  • 由于前公司一些不可抗的情况,最近换了工作,吃饭的家伙也从Mac转成了Win,之前用Mac的时候,习惯了终端操作,现在用Win,感觉不是很适应,尽管Win自带的 powershell 也很强大。

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

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

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

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

1.png

综合上述的原因,我用nodejs写了一个压缩工具 fzip

腾讯AI 开放平台
腾讯AI 开放平台

腾讯AI开放平台

下载

对比

来跟 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

参数说明

参数 参数来源 参数注解
-f From 压缩目标来源(必选)
-o Output 压缩产物输出位置(可选,不传则为来源同级目录)
-l Level 压缩级别 0~9(可选,不传则默认为 6)
-n Name 压缩包名称(可选,不传则默认为文件或目录的名字)

使用示例

.
├── 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 教程

相关专题

更多
github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

387

2026.01.21

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2057

2024.08.16

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

17

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

91

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

124

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

14

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

59

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
快速入门Node.JS全套完整版
快速入门Node.JS全套完整版

共83课时 | 8.4万人学习

nodejs开发基础教程
nodejs开发基础教程

共15课时 | 4.5万人学习

JavaScript设计模式视频教程
JavaScript设计模式视频教程

共28课时 | 5.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号