介绍

在一部分公司中,上线时前端须要打包后发给后端或运维同学,他们再放到服务器上

但每次打包、压缩、发给他人这个过程太麻烦了,于是就有了这个小工具

咱们就能够简略配置一下,在打包完结后主动执行这个程序

并且能够间接下载压缩包

好了,当初只有把后端骗进群,压力一下子就来到了后端这边

除了主动展现版本、压缩包大小、打包日期之外

它还能够主动保护本地及线上的压缩包,每次执行时会查看非明天的文件,主动删除

应用办法

装置

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