一、安装 scp2
npm install scp2 --save-dev
二、写好脚本
在与package.json平级的位置创建脚本文件
例如 upload.js (名称随便)
'use strict'
// 引入scp2
var client = require('scp2');
// 下面三个插件是部署的时候控制台美化所用 可有可无
const ora = require('ora');
const chalk = require('chalk');
const spinner = ora(chalk.green('正在上传到到服务器...'));
spinner.start();
client.scp('./dist/', { // 本地打包文件的位置
"host": 'XXX.XX.XX.XXX', // 服务器的IP地址
"port": 'XX', // 服务器端口, 一般为 22
"username": 'XXX', // 服务器用户名,一般是root
"password": '*****', // 服务器密码
"path": 'XXX' // 项目部署的服务器目标位置
}, err =>{
spinner.stop();
if (!err) {
console.log(chalk.green("项目上传完成"))
} else {
console.log("err", err)
}
})
此外要记得在上传git时忽略此文件,因为此文件中包含着你的服务器的敏感信息。
三、在 package.json中添加 scripts 命令
在build之前加上上传到服务器的命令
"upload": "node upload.js",
然后将build修改为:
"build": "node build/build.js && npm run upload"
修改完成后为
"upload": "node upload.js",
"build": "node build/build.js && npm run upload"
四、执行脚本
运行npm run build这个脚本命令之后,它会先npm run build执行打包命令,然后,执行node upload.js,将打包的文件上传到服务器。