作者信息

青灯夜游

今天学习一小步,明天提升一大步

最近文章
php怎么利用for循环求数组的和590
mysql怎么删除外键关系356
php怎么改变数组key的值657
视频教程分类
推荐视频教程
  • php程序员小白到大牛三个月集训php程序员小白到大牛三个月集训
  • Laravel 9 学习正当时—保姆级教程,想学不会都难!Laravel 9 学习正当时—保姆级教程,想学不会都难!
  • 千万级数据并发解决方案(理论+实战)千万级数据并发解决方案(理论+实战)
  • Laravel基础与实战(模块化)Laravel基础与实战(模块化)
  • 首页 >web前端 >js教程 > 正文

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

    转载2022-06-20 21:07:581144 关注公众号:每天精选资源文章推送
    本篇文章给大家分享一个node实战,手把手带你使用node开发一个命令行压缩工具,希望对大家有所帮助!

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

    起因

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

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

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

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

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

    1.png

    综合上述的原因,我用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中文网其它相关文章!

    20期PHP线上班

    声明:本文转载于:掘金社区,如有侵犯,请联系admin@php.cn删除

  • 相关标签:nodejs node Node.js
  • 推荐:PHP从基础到实战教程视频

    相关文章

    相关视频


    专题推荐