介绍
在一部分公司中,上线时前端须要打包后发给后端或运维同学,他们再放到服务器上
但每次打包、压缩、发给他人这个过程太麻烦了,于是就有了这个小工具
咱们就能够简略配置一下,在打包完结后主动执行这个程序
并且能够间接下载压缩包
好了,当初只有把后端骗进群,压力一下子就来到了后端这边
除了主动展现版本、压缩包大小、打包日期之外
它还能够主动保护本地及线上的压缩包,每次执行时会查看非明天的文件,主动删除
应用办法
装置
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