node压缩⽂件夹之compressing
发现问题
项⽬上线
经过了⼀段时间的打包(即熟悉的npm run build)、压缩(通过压缩⼯具压成.zip包)、上线(把压缩包发给上线⼈员),终于,发现了有优化的空间,哈哈。
什么?项⽬上线还属于⼈⼯操作?利⽤压缩包的⽅式?还没⽤到⾃动化部署?
打扰了,打扰了。
主⾓登场
了⼀下,发现了⼀个好⽤⼜⽅便的包 compressing,⽀持压缩⽂件夹,⽀持zip压缩。
开始压缩
truncated zip file怎么解决程序能做到压缩,为啥还要⾃⼰⼿动去压缩,于是,就有了下⾯的故事。
const path = require("path");
const fs = require("fs");
const chalk = require("chalk");
// 这个是主⾓
const compressing = require("compressing");
const dayjs = require("dayjs");
const resolve = dir => path.join(__dirname, "..", dir);
const publishPath = resolve("publish");
const zipName = (() => `publish/fzApp ${dayjs().format("YYYYMMDD_HHmm")}.zip`)();
// 判断是否存在当前publish路径,没有就新增
if (!fs.existsSync(publishPath)) {
fs.mkdirSync(publishPath);
}
compressing.zip
pressDir(resolve("dist/"), resolve(zipName))
.then(() => {
console.llow(`Tip: ⽂件压缩成功,已压缩⾄【${resolve(zipName)}】`));
})
.catch(err => {
console.d("Tip: 压缩报错"));
<(err);
});
问题解决
在⾃动压缩这个点上,问题是解决了的。
于是,以后上线的流程变成了:
打包(npm run build && npm run zip)、上线(发送zip压缩包给上线⼈员)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论