Rust-based CLI & JS library for zipping dist folders
npm install @rustzen/zipper


> 一个基于 Rust 的高性能 CLI 工具,用于快速压缩 dist 文件夹。
- 特性
- 安装
- 快速开始
- 详细用法
- 时间格式说明
- 高级用法
- 故障排除
- 帮助信息
- 许可证
- 🚀 高性能:基于 Rust 构建,压缩速度极快
- 📦 跨平台:支持 Windows、macOS、Linux
- 🎯 简单易用:一行命令即可压缩
- ⚙️ 高度可配置:支持自定义时间格式、源目录、压缩方法
- 🔧 npm 集成:完美集成到 npm 工作流
``bash`
npm install -g @rustzen/zipper
`bashnpm
npm install -D @rustzen/zipper
🚀 快速开始
$3
`bash
压缩当前目录下的 dist 文件夹
zipper输出:dist-20240928-1430.zip
`$3
`json
{
"scripts": {
"build": "vite build",
"postbuild": "zipper"
}
}
`📖 详细用法
$3
| 参数 | 长参数 | 说明 | 默认值 |
| ---- | --------------- | --------------------------- | ------------- |
|
-s | --source | 源目录路径 | ./dist |
| -o | --output | 输出文件名(不含扩展名) | 源文件名称 |
| -f | --format | 时间格式 | %Y%m%d-%H%M |
| -c | --compression | 压缩方法 stored、deflated | deflated |$3
#### 1. 自定义源目录
`bash
压缩 build 目录
zipper -s ./build压缩 public 目录
zipper --source ./public
`#### 2. 自定义输出文件名
`bash
zipper -o myapp
输出为 myapp-20240928-1430.zip
zipper --output deploy
输出为 deploy-20240928-1430.zip
`#### 3. 自定义时间格式
`bash
年月日时分
zipper -f "%Y%m%d%H%M"
输出:dist-202409281430.zip
带分隔符
zipper -f "%Y-%m-%d_%H-%M"
输出:dist-2024-09-28_14-30.zip
`#### 4. 压缩方法
`bash
无压缩(默认,最快)
zipper -c stored标准压缩
zipper -c deflated
`#### 5. 组合使用
`bash
完整示例
zipper -s ./build -o deploy -f "%Y%m%d" -c deflated
输出:deploy-20240928.zip
`🕒 时间格式说明
基于 chrono 库的格式:
| 格式 | 说明 | 示例 |
| ---- | ------------ | ---- |
|
%Y | 4 位年份 | 2024 |
| %m | 月份 (01-12) | 09 |
| %d | 日期 (01-31) | 28 |
| %H | 小时 (00-23) | 14 |
| %M | 分钟 (00-59) | 30 |
| %S | 秒 (00-59) | 45 |$3
`bash
年月日时分
zipper -f "%Y%m%d%H%M"
输出:dist-202409281430.zip
年月日时分秒
zipper -f "%Y%m%d%H%M%S"
输出:dist-20240928143045.zip
带分隔符
zipper -f "%Y-%m-%d_%H-%M"
输出:dist-2024-09-28_14-30.zip
简单日期
zipper -f "%d%m%Y"
输出:dist-28092024.zip
`🔧 高级用法
$3
`yaml
GitHub Actions
- name: Build and zip
run: |
npm run build
zipper -f "build_%Y%m%d_%H%M"
`$3
`json
{
"scripts": {
"build:dev": "vite build --mode development",
"build:prod": "vite build --mode production",
"zip:dev": "zipper -s ./dist -o dev -f dev_%Y%m%d",
"zip:prod": "zipper -s ./dist -o prod -f prod_%Y%m%d"
}
}
`$3
`bash
#!/bin/bash
deploy.sh
echo "Building project..."
npm run buildecho "Creating deployment package..."
zipper -f "deploy_%Y%m%d_%H%M"
echo "Package created successfully!"
`$3
- 默认命名:
{output}-{timestamp}.zip
- 位置:当前工作目录
- 内容:保留原始目录结构,支持空目录
- 权限:适当的文件权限设置🛠️ 故障排除
$3
`bash
重新安装
npm uninstall -g @rustzen/zipper
npm install -g @rustzen/zipper
`$3
`bash
检查文件权限
ls -la bin/
chmod +x bin/rustzen-zipper
`$3
`bash
检查目录
ls -la ./dist
或指定正确的路径
zipper -s ./正确的目录路径
`$3
`bash
检查支持的压缩方法
zipper --help
使用默认的 stored 方法
zipper -c stored
`📚 帮助信息
`bash
显示帮助
zipper --help
zipper -h显示版本
zipper --version
zipper -V
``MIT License
---
注意:确保源目录存在且包含文件,否则压缩会失败。