手把手带你使用node开发一个命令行压缩工具
作者:互联网
2022-06-10

hello,最近写了一个压缩文件的命令行工具,今天分享给大家。
起因
由于前公司一些不可抗的情况,最近换了工作,吃饭的家伙也从Mac转成了Win,之前用Mac的时候,习惯了终端操作,现在用Win,感觉不是很适应,尽管Win自带的
powershell也很强大。工作中开发的项目在测试的时候需要先压缩成压缩包,再上传到对应的桌面应用测试。
在网上下载的压缩软件大都捆绑的有广告,hen~烦
powershell的压缩命令太长了,用起来不方便,并且桌面应用ide升级之后,通过Compress-Archive压缩的文件不能被正确的解析。最后一个原因,我不想再去学
powershell的指令了!!!

综合上述的原因,我用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
参数说明
| 参数 | 参数来源 | 参数注解 |
|---|---|---|
| -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://gi*th**ub.com/lxqddd/FZip
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
「性能优化」虚拟列表极致优化实战:从原理到源码,打造丝滑滚动体验
你的 Vue 3 生命周期,VuReact 会编译成什么样的 React?
你的 Vue 3 defineProps(),VuReact 会编译成什么样的 React?
Vue条件渲染详解:v-if、v-show用法与实战指南
前端性能内卷终点?Signals 正在重塑我们的开发习惯
使用 IntersectionObserver + 哨兵元素实现长列表懒加载
大屏卡成 PPT?这 3 个性能优化招数亲测有效
别再用 JSON.parse 深拷贝了,聊聊 StructuredClone
当 Vue 3 遇上桥接模式:手把手教你优雅剥离虚拟滚动的业务大泥球
VueUse 全面指南|Vue3组合式工具集实战
AI精选
