如何实现vue-cli3项目打包后自动部署至服务器的操作流程?

更新于
2026-09-24 02:16:50
1阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计570个文字,预计阅读时间需要3分钟。

如何实现vue-cli3项目打包后自动部署至服务器的操作流程?

一、安装依赖bashscp2 npm install scp2 --save-dev

二、编写脚本创建一个名为 `upload.js` 的脚本(以下任选其一):

javascript// upload.js// 简略版const scp2=require('scp2');const client=new scp2.Client();client.scp('/dist', { recursive: true });

javascript// upload.js// 详细版const scp2=require('scp2');const fs=require('fs');const path=require('path');

const distPath=path.join(__dirname, 'dist');const client=new scp2.Client();

fs.readdir(distPath, (err, files)=> { if (err) throw err;

files.forEach(file=> { const filePath=path.join(distPath, file); client.scp(filePath, { recursive: true }); });});

三、配置确保 `use strict` 和 `scp2` 引用位于 `package.json` 平级。

一、安装 scp2

npm install scp2 --save-dev

二、写好脚本
例如 upload.js (下面任选一个即可)
位置和 package.json平级即可。

简略版

'use strict' // 引入scp2 var client = require('scp2'); client.scp('./dist/', { // 本地打包文件的位置 "host": 'XXX.XX.XX.XXX', // 服务器的IP地址 "port": 'XX', // 服务器端口, 一般为 22 "username": 'XXX', // 用户名 "password": '*****', // 密码 "path": 'XXX' // 项目部署的服务器目标位置 }, err =>{ if (!err) { console.log("项目发布完毕!") } else { console.log("err", err) } })

稍微美化下控制台的输出

'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', // 用户名 "password": '*****', // 密码 "path": 'XXX' // 项目部署的服务器目标位置 }, err =>{ spinner.stop(); if (!err) { console.log(chalk.green("项目发布完毕!")) } else { console.log("err", err) } })

✨记得项目git上传时忽略此文件, 因为这里面包含了你的服务器地址、用户以及密码
三、在 package.json中添加 scripts 命令

"upload": "node upload.js", "deploy": "npm run build && npm run upload"

四、执行脚本

如何实现vue-cli3项目打包后自动部署至服务器的操作流程?

npm run deploy

运行这个脚本命令之后,它会先npm run build执行打包命令,然后,执行node upload.js,将打包的文件上传到服务器

到此这篇关于vue-cli3项目打包后自动化部署到服务器的方法的文章就介绍到这了,更多相关vue-cli3打包自动化部署到服务器内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

本文共计570个文字,预计阅读时间需要3分钟。

如何实现vue-cli3项目打包后自动部署至服务器的操作流程?

一、安装依赖bashscp2 npm install scp2 --save-dev

二、编写脚本创建一个名为 `upload.js` 的脚本(以下任选其一):

javascript// upload.js// 简略版const scp2=require('scp2');const client=new scp2.Client();client.scp('/dist', { recursive: true });

javascript// upload.js// 详细版const scp2=require('scp2');const fs=require('fs');const path=require('path');

const distPath=path.join(__dirname, 'dist');const client=new scp2.Client();

fs.readdir(distPath, (err, files)=> { if (err) throw err;

files.forEach(file=> { const filePath=path.join(distPath, file); client.scp(filePath, { recursive: true }); });});

三、配置确保 `use strict` 和 `scp2` 引用位于 `package.json` 平级。

一、安装 scp2

npm install scp2 --save-dev

二、写好脚本
例如 upload.js (下面任选一个即可)
位置和 package.json平级即可。

简略版

'use strict' // 引入scp2 var client = require('scp2'); client.scp('./dist/', { // 本地打包文件的位置 "host": 'XXX.XX.XX.XXX', // 服务器的IP地址 "port": 'XX', // 服务器端口, 一般为 22 "username": 'XXX', // 用户名 "password": '*****', // 密码 "path": 'XXX' // 项目部署的服务器目标位置 }, err =>{ if (!err) { console.log("项目发布完毕!") } else { console.log("err", err) } })

稍微美化下控制台的输出

'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', // 用户名 "password": '*****', // 密码 "path": 'XXX' // 项目部署的服务器目标位置 }, err =>{ spinner.stop(); if (!err) { console.log(chalk.green("项目发布完毕!")) } else { console.log("err", err) } })

✨记得项目git上传时忽略此文件, 因为这里面包含了你的服务器地址、用户以及密码
三、在 package.json中添加 scripts 命令

"upload": "node upload.js", "deploy": "npm run build && npm run upload"

四、执行脚本

如何实现vue-cli3项目打包后自动部署至服务器的操作流程?

npm run deploy

运行这个脚本命令之后,它会先npm run build执行打包命令,然后,执行node upload.js,将打包的文件上传到服务器

到此这篇关于vue-cli3项目打包后自动化部署到服务器的方法的文章就介绍到这了,更多相关vue-cli3打包自动化部署到服务器内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!