compress-picture-js
Version:
31 lines (30 loc) • 1.4 kB
JavaScript
import { program } from 'commander';
import { CheckCompressOptions } from './util/option/option.util.js';
import { responseUtil } from './util/response/response.util.js';
import { ExecCommand } from './adapter/exec.adapter.js';
// 解析参数
program
.description(`图片压缩工具;
例子 For JPG/JPEG : compress-picture-js -f jpg -q 80 -i ./images/a.jpeg -o ./images/compress/a.jpeg
例子 For PNG : compress-picture-js -f png -q 80 -i ./images/a.png -o ./images/compress/a.png
`)
.option('-a, --action <执行动作>', '执行动作:压缩', 'compress')
.option('-f, --format <图片类型>', '图片文件格式', '')
.option('-i, --input <图片路径>', '图片输入路径', '')
.option('-o, --output <图片路径>', '图片输出路径', '')
.option('-q, --quality <图片质量>', '图片压缩质量:0-100', '0')
.version('0.0.8', '-v, --version');
program.parse();
// 检查参数
let options = program.opts();
let checkOptionResult = CheckCompressOptions(options);
if (!responseUtil.IsOK(checkOptionResult.code)) {
throw new Error('参数错误 : ' + responseUtil.Error(checkOptionResult));
}
// 执行命令
let execResponse = ExecCommand(options);
if (!responseUtil.IsOK(execResponse.code)) {
throw new Error('执行失败 : ' + responseUtil.Error(execResponse));
}
// console.log('✨ ✨ 🚀 Done.');