介绍
在一部分公司中,上线时前端须要打包后发给后端或运维同学,他们再放到服务器上
但每次打包、压缩、发给他人这个过程太麻烦了,于是就有了这个小工具
咱们就能够简略配置一下,在打包完结后主动执行这个程序
并且能够间接下载压缩包
好了,当初只有把后端骗进群,压力一下子就来到了后端这边
除了主动展现版本、压缩包大小、打包日期之外
它还能够主动保护本地及线上的压缩包,每次执行时会查看非明天的文件,主动删除
应用办法
装置
pnpm i -D simple-zip-upload
导入
import ZipUpload from 'simple-zip-upload'
配置
const ZipUpload = require('simple-zip-upload')const path = require('path')const fs = require('fs')const ZipUploadConfig = { sftpOptions: { // SFTP 连贯信息 connect: { host: '1.2.3.4', port: 22, username: 'root', privateKey: fs.readFileSync('C:\\Users\\imba97\\.ssh\\id_rsa') }, // 必填,上传的近程目录 remoteDir: '/www/download/upload' }, // 利用名,惟一名称,会拼接在压缩文件名 app: 'simple-zip-upload', // 版本号填充“0”的个数,可选,默认 2 fill: 3, // 压缩指标文件夹 zipTargetDir: 'dist', // 本地压缩文件寄存目录 zipFileDir: 'build', // 压缩文件下载连贯,最初会与文件名拼接 host: 'https://download.imba97.cn/upload/', // 钉钉推送卡片信息 cardInfo: { title: '测试公布', subTitle: '没啥事就是测试一下', // 可选 默认是: // 版本 20221027005 // 大小 1.00M // 打包日期 2022-10-27 23:57:31 body(cardInfo) { return `自定义内容开头顶格写,不然会有空格版本 ${cardInfo.version}大小 ${cardInfo.size}打包日期 ${cardInfo.date}` } // 能够是字符串 // body: '自定义内容' }, // 钉钉连贯 token、secret dingTalk: { accessToken: '', secret: '' }}
应用
一般
// 一般new ZipUpload(ZipUploadConfig).start()
Webpack
// ...{ plugins: [new ZipUpload(ZipUploadConfig)]}
vue.config.js
// ...{ // ... chainWebpack(config) { // 增加插件 config .plugin('ZipUploadPlugin') .use(ZipUpload) .tap(() => [ZipUploadConfig]) }, // ...}
更多详情
Github