前言
每次打包后还得登录ftp/sftp 工具,找到对应的目录,手动上传代码,感觉费时费力,于是写了个脚本,降本增效~
根目录创建 deploy.js
import { exec } from "child_process";
import path from "path";
import { fileURLToPath } from "url";
import { dirname } from "path";
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const buildPath = path.resolve(__dirname, "dist");
// 打包命令
exec("npm run build", (err, stdout, stderr) => {
if (err) {
console.error(err);
return;
}
console.log(stdout);
// 上传命令,这里以 SCP 为例
// /root/project/dist 是dist存放位置
const uploadCommand = `scp -r ${buildPath}/* 服务器用户名@服务器IP:/root/project/dist`;
exec(uploadCommand, (err, stdout, stderr) => {
if (err) {
console.error(err);
return;
}
console.log("Deployed successfully.");
console.log(stdout);
});
});
在package.json增加一行
"scripts": {
"upload": "node deploy.js"
},