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

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

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

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

起因

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

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

点击下载“嗨格式压缩大师”;

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

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

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

1.png

综合上述的原因,我用node写了一个压缩工具 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

登录后复制指定压缩等级

# 压缩产物的压缩级别为 9fzip -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相关知识,请访问:node!

以上就是手把手带你使用node开发一个命令行压缩工具的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2700871.html

(0)
上一篇 2025年3月7日 19:10:36
下一篇 2025年2月28日 04:58:04

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 聊聊Node.js path模块中的常用工具函数

    本篇文章带大家聊聊node中的path模块,介绍一下path的常见使用场景、执行机制,以及常用工具函数,希望对大家有所帮助! 在开发过程中,会经常用到 Node.js  ,它利用 V8 提供的能力,拓展了 JS 的能力。而在 Node.js…

    2025年3月7日 编程技术
    200
  • 聊聊node+express怎么操作cookie

    node+express怎么操作cookie?下面本篇文章就来给大家介绍一下用nodejs操作cookie的方法,希望对大家有所帮助! Cookie:有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进…

    2025年3月7日 编程技术
    200
  • 聊聊node+multiparty怎么实现文件上传

    利用node怎么实现文件上传?下面本篇文章就来给大家介绍一下node结合multiparty实现文件上传的方法,希望对大家有所帮助! 文件上传是每个项目中大概必不可少的操作,今天我们用node实现一个文件上传模块。 1.模块 npm i m…

    2025年3月7日
    200
  • 一文详解Nodejs中怎么读写文件

    node中怎么操作文件?下面本篇文章带大家聊聊怎么使用nodejs读写文件,希望对大家有所帮助! 操作文件是服务端一个基础的功能,也是做后端开发的必备能力之一。 操作文件主要包括读和写。而这些功能 Nodejs 都已经提供了对应的方法。只要…

    2025年3月7日
    200
  • 推荐11个受欢迎的Node.js 框架,快放入收藏夹吧!

    Node.JS是最流行的开源JavaScript运行时框架之一,并具有在浏览器之外建立代码的跨平台能力。知名开发者Alex Ivanovs自2005年就开始从事Web开发工作,近日,他根据前端构架调查、开发者调查报告以及个人项目经验,总结出…

    2025年3月7日 编程技术
    200
  • 总结分享了解nodejs的几个关键节点

    本文是个人在实际开发和学习中对nodejs的一些理解,现整理出来方便日后查阅,如果能给您启发将不胜荣幸。 非阻塞I/O I/O:即 Input / Output,一个系统的输入和输出。 一个系统可以理解为一个个体,比如说一个人,你说话就是输…

    2025年3月7日 编程技术
    200
  • 进程和线程如何理解?Node.js中的进程和线程是怎样的?

    线程和进程是计算机操作系统的基础概念,在程序员中属于高频词汇,那如何理解呢?node中的进程和线程又是怎样的呢?下面本篇文章就来一起了解一下,希望对大家有所帮助! 一、进程和线程 1.1、专业性文字定义 进程(Process),进程是计算机…

    2025年3月7日 编程技术
    200
  • node.js gm是什么

    gm是基于node.js的图片处理插件,它封装了图片处理工具GraphicsMagick(GM)和ImageMagick(IM),可使用spawn的方式调用。gm插件不是node默认安装的,需执行“npm install gm -S”进行安…

    2025年3月7日 编程技术
    200
  • webpack是基于node.js的吗

    webpack是基于node.js的。webpack是一个用于现代JavaScript应用程序的静态模块打包工具,是基于node.js开发的,使用时需要有node.js组件支持;需要使用npm或者cnpm进行安装,语法“cnpm insta…

    2025年3月7日
    200
  • 深入解析NodeJS中的进程管理

    熟悉 js 的朋友都知道,js 是单线程的,在 Node 中,采用的是 多进程单线程 的模型。由于javascript单线程的限制,在多核服务器上,我们往往需要启动多个进程才能最大化服务器性能。 Node.js 进程集群可用于运行多个 No…

    2025年3月7日 编程技术
    200

发表回复

登录后才能评论