webpack-deploy-server
Version:
webpack打包后资源同步至ftp服务器,可用于vue,uni-app等项目。
69 lines (63 loc) • 1.64 kB
JavaScript
const fs = require('fs')
exports.connectConfig = function (server) {
// 处理连接参数
const config = {
host: server.host,
port: server.port,
username: server.username,
};
switch (server.loginWay) {
case 'password':
config.password = server.password;
break;
case 'privateKey':
config.privateKey = fs.readFileSync(server.privateKey);
break;
default:
config.password = server.password;
break;
}
return config;
}
// 参数校验
exports.verifyConfig = function (config) {
// 错误统计
let errorNum = 0;
let errorArr = [];
if (!config.host) {
console.log(error('请设置ip地址'));
return false;
}
if (!config.port) {
console.log(error('请设置端口号'));
return false;
}
if (!config.username) {
console.log(error('请设置用户名'));
return false;
}
if (config.loginWay === 'password' && !config.password) {
console.log(error('请设置登陆密码'));
return false;
} else if (config.loginWay === 'privateKey' && !config.privateKey) {
console.log(error('请设置privateKey'));
return false;
}
return true
}
// 执行ssh2命令
exports.executeOrder = function (conn, order, callBack) {
let newOrder = order;
if (order instanceof Array) {
newOrder = order.join(" \n ");
}
conn.exec(newOrder, function (
err,
stream
) {
if (err) {
throw err;
}
callBack();
});
}