安装zx
zx 是谷歌实现的一个能在
node
中写bash
的库使用
$``
框起想要执行的命令,就可以直接执行bash
。这个库的最大的便捷在于,
node
和标准的bash
都是我们非常熟悉的东西。只需要知道最基本的库的使用,就可以很快上手,写出功能很强大的工具。具体查看聊聊去年最火的前端库zx
在根目录下创建scripts文件夹,进入创建prebuild.mjs
mkdir scripts
cd scripts
touch prebuild.mjs
prebuild.mjs代码如下
import { $, argv } from "zx";
export const isWin = () => {
// win32 代表window平台
// darwin 代表mac平台
//
return process.platform === "win32" ? true : false;
}
const root = process.cwd()
let dir = isWin() ? 'dist': root // dist是压缩包所在位置
console.log(dir)
let path = `${dir}`
const gitPullInfo = await $`scp -r ${path}/* root@43.143.1.81:/usr/local/nginx/html/`
// const gitPullInfo = await $`cd ${path};`;
if(gitPullInfo.exitCode === 0) {
console.log('复制到linux远程服务器成功')
} else {
console.log('发生错误')
}
在package.json scripts对象里修改build执行命令
---
"scripts": {
"dev": "vite",
"build": "vite build --mode development && zx ./scripts/prebuild.mjs",
"preview": "vite preview",
}
---
// 或者用
---
"scripts": {
"dev": "vite",
"build": "vite build --mode development",
"preview": "vite preview",
"buildtome": "npm run build && zx ./scripts/prebuild.mjs"
}
---
打包时执行npm run build 或者 npm run buildtome即可
注意上面的自动执行脚本使用linux免密登录,可查看Linux配置免密登录