【小工具一】为项目写个脚本,打包后自动上传代码到服务器

154 阅读1分钟

前言

每次打包后还得登录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"
  },

运行

image.png