simple-sftp-uploader
一个简单的 SFTP 上传器,把指定文件夹中的文件上传到服务器上。
可以单独用,也是个webpack
插件。
导入
import SftpUploader from 'simple-sftp-uploader'
配置
import fs from 'fs'
const sftpUploaderConfig = {
localDir: 'dist',
remoteDir: '/www/imba97.cn',
connect: {
host: '1.2.3.4',
port: 22,
username: 'root',
privateKey: fs.readFileSync('C:/Users/imba97/.ssh/id_rsa')
},
rmExclude: ['favicon.ico']
}
上传
普通上传
import SftpUploader from 'simple-sftp-uploader'
const sftpUploader = new SftpUploader(sftpUploaderConfig)
sftpUploader.start()
Webpack
import SftpUploader from 'simple-sftp-uploader'
{
plugins: [new SftpUploader(sftpUploaderConfig)]
}
vue.config.js
import SftpUploader from 'simple-sftp-uploader'
{
chainWebpack(config) {
config
.plugin('SftpUploaderPlugin')
.use(SftpUploader)
.tap(() => [sftpUploaderConfig])
},
}
作为上传器使用
配置连接信息
const uploader = new Uploader({
connect: {
host: '1.2.3.4',
port: 22,
username: 'root',
privateKey: fs.readFileSync('C:/Users/imba97/.ssh/id_rsa')
}
})
开放的接口
connect(): Promise<null>
uploadFile(local: string, remote: string): Promise<null>
exists(src: string): Promise<boolean>
deleteFiles(remote: string, exclude?: RegExp): Promise<null>
readdir(src: string): Promise<string[]>
exec(script: string): Promise<null>
mkdir(dirPath: string): Promise<null>
close(): void