博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node压缩文件夹之compressing
阅读量:7119 次
发布时间:2019-06-28

本文共 1062 字,大约阅读时间需要 3 分钟。

发现问题

项目上线

经过了一段时间的打包(即熟悉的npm run build)、压缩(通过压缩工具压成.zip包)、上线(把压缩包发给上线人员),终于,发现了有优化的空间,哈哈。

什么?项目上线还属于人工操作?利用压缩包的方式?还没用到自动化部署?

打扰了,打扰了。

主角登场

找了一下,发现了一个好用又方便的包 compressing,支持压缩文件夹,支持zip压缩。

开始压缩

程序能做到压缩,为啥还要自己手动去压缩,于是,就有了下面的故事。

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    .compressDir(resolve("dist/"), resolve(zipName))    .then(() => {        console.log(chalk.yellow(`Tip: 文件压缩成功,已压缩至【${resolve(zipName)}】`));    })    .catch(err => {        console.log(chalk.red("Tip: 压缩报错"));        console.error(err);    });

问题解决

在自动压缩这个点上,问题是解决了的。

于是,以后上线的流程变成了:

打包(npm run build && npm run zip)、上线(发送zip压缩包给上线人员)。

转载于:https://www.cnblogs.com/xieqian/p/10973324.html

你可能感兴趣的文章
我的友情链接
查看>>
再谈子网划分方法与子网划分示例
查看>>
OSPFv2的综合实验试题分析第1例(CCNP阶段)
查看>>
Eclipse下Pydev在线安装失败及解决办法
查看>>
在kubernetes集群中部署mysql主从
查看>>
Linux——系统引导流程学习简单笔记
查看>>
Bootstrap3.0学习第十二轮(导航、标签、面包屑导航)
查看>>
The Definitive Guide To Django 2 学习笔记(八) 第四章 模板 (四)基本的模板标签和过滤器...
查看>>
【转】Mysql行转换为列
查看>>
Sysprep命令详解
查看>>
通过SCVMM分配SMB 3.0 文件共享
查看>>
我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)
查看>>
用C#实现的条形码和二维码编码解码器
查看>>
[经验分享]采用什么架构才能够承受庞大的大访问量?
查看>>
EXT ajax简单实例
查看>>
《你必须知道的495个C语言问题》知识笔记及补充
查看>>
用Qt写软件系列一:QCacheViewer(浏览器缓存查看器)
查看>>
WAF与IPS的区别总结
查看>>
C#-设置button颜色
查看>>
Android--UI布局
查看>>