vue 实现打包并同时上传至服务器端

将 publish_script 及以下文件 upload.server.js 添加到 主文件下,与 src 同级别

具体操作步骤:

1、安装 npm install scp2

2、将下面两条命令加入至 package.json 的 scripts 中

复制代码
"upload": "node publish_script/upload.server.js",
"publish": "npm run build && npm run upload"

3、需后端提供:

(1)修改 path后的服务器站点目录名称为 lucky,即 /etc/nginx/wwwroot/lucky

(3)修改 host: 47.109.67.254

4、修改 vue.config.js 中,publicPath的值,都改成 "/" 才对应的上

复制代码
module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? '/' : '/'
};

5、使用 npm run publish 发布并部署至服务器

upload.server.js 文件

复制代码
// 1.安装scp2  执行命令  npm install scp2
// 2.将下面两条命令加入至 package.json 的 scripts 中
// "upload": "node publish_script/upload.server.js",
// "publish": "npm run build && npm run upload"
// 3. 使用 npm run publish 发布并部署至服务器
var serverConfig = {
  publishPath: './dist/', // 本地需要发布的文件夹
  host: '47.109.67.254', // 远程服务器Ip
  username: 'marking', // ssh 用户名称
  password: '][poiu+_)(*&', // ssh 用户密码
  path: '/etc/nginx/wwwroot/lucky' // 远程服务器站点目录
}

// 引入scp2模块
var client = require('scp2')
// var random = Math.random()
client.scp(serverConfig.publishPath, {
  'host': serverConfig.host,
  'username': serverConfig.username,
  'password': serverConfig.password,
  'port': '10022', // 默认SSH端口
  'path': serverConfig.path
}, function(err) {
  if (!err) {
    console.log('npm run publish: scp2工具上传完毕,远端服务路径:' + serverConfig.path)
  } else {
    console.log('npm run publish: 上传失败!!,原因:', err)
  }
})

希望我的愚见能够帮助你哦~,若有不足之处,还望指出,你们有更好的解决方法,欢迎大家在评论区下方留言支持,大家一起相互学习参考呀~

相关推荐
升鲜宝供应链及收银系统源代码服务8 小时前
《IntelliJ + Claude Code + Gemini + ChatGPT 实战配置手册升鲜宝》
java·前端·数据库·chatgpt·供应链系统·生鲜配送
i建模8 小时前
将Edge浏览器的标签页从顶部水平排列**移至左侧垂直侧边栏
前端·edge
跟着珅聪学java8 小时前
js编写中文转unicode 教程
前端·javascript·数据库
英俊潇洒美少年8 小时前
Vue3 深入响应式系统
前端·javascript·vue.js
英俊潇洒美少年10 小时前
React 最核心 3 大底层原理:Fiber + Diff + 事件系统
前端·react.js·前端框架
我命由我1234510 小时前
React Router 6 - 概述、基础路由、重定向、NavLink、路由表
前端·javascript·react.js·前端框架·ecmascript·html5·js
LJianK110 小时前
java封装
java·前端·数据库
yaaakaaang10 小时前
(四)前端,如此简单!---Promise
前端·javascript
GISer_Jing11 小时前
ReAct规划原理实战指南
前端·react.js·ai·aigc
SoaringHeart11 小时前
Flutter组件封装:翻转组件 NFlipCard
前端·flutter