公司本地有一个windows的测试环境服务器,每次修改东西都要手动链接远程,手动copy打包的文件到静态文件目录, 后面发现scp2可以实现本地推送远程服务。。。记录一下实现过程
代码实现
- npm i scp2 ora chalk -D
let client = require("scp2");
const ora = require("ora");
const chalk = require("chalk");
const spinner = ora(chalk.green("正在发布到服务器..."));
client.scp(
"./dist",//本地打包目录
{
host: //远程host,
username: //远程用户名,
password: //远程密码,
path: //远程地址,
},
(err) => {
spinner.stop();
if (!err) {
console.log(chalk.green("项目发布完毕"));
} else {
// console.log("err", err);
}
}
);
最后不知道什么原因上传完成总是会打印2次错误,但是检查远程目录是上传成功的没问题,就把错误打印注释掉了,一直没有解决
- 我先用自己的电脑测试一下,本人电脑win10,直接打开远程服务并开启ssh服务,百度可以查到,很简单。
- 然后在测试服务器测试,突然发现测试服务器是windows server 2016,没有ssh服务。经过查找找到解决办法,www.cnblogs.com/dachenyi/p/… ,下载64位的。终于不用再手动发布了 直接node 运行上面代码就行