当前位置: 首页 > news >正文

vue项目部署和镜像打包

vue项目部署和镜像打包

SpringBoot+Vue 前后端分离 微服务项目 打包部署全流程(原始部署/宝塔部署)

前端vue项目部署主要考虑以下方面:

vue项目启动、打包;

以vue-admin-template为例,开发环境启动项目:

# 进入项目目录
cd vue-admin-template# 安装依赖
npm install# 建议不要直接使用 cnpm 安装以来,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org# 启动服务
npm run dev

打包发布,生成静态资源dist文件夹:

# 构建测试环境
npm run build:stage# 构建生产环境
npm run build:prod

后端项目地址配置;

开发环境配置后端地址:

在 Vue 前端项目中配置后端项目的访问地址可以通过修改项目的配置文件来实现。Vue 常用的配置文件是 vue.config.js,你可以按照以下步骤进行配置:

在 Vue 项目的根目录下,创建或编辑 vue.config.js 文件。

在 vue.config.js 中,可以使用 devServer 字段来配置开发服务器的代理。这个字段用于开发环境下的配置,方便在开发过程中代理请求到后端服务。

在 devServer 字段下添加以下配置:

module.exports = {devServer: {proxy: {'/api': {target: 'http://backend-api.com', // 后端地址changeOrigin: true,pathRewrite: {'^/api': '',},},},},
};

上述代码中,target 字段指定了后端项目的访问地址,你可以将 'http://backend-api.com' 替换为实际的后端地址。
'/api’是一个示例的路径前缀,用于匹配请求的 URL 中以 /api 开头的部分。你可以根据后端接口的实际情况进行调整。
changeOrigin 设置为 true 表示开启跨域请求。
pathRewrite 字段可以用于重写请求的路径,上述示例中将 /api 重写为空字符串,即将 /api 前缀去除。

通过以上配置,当你在 Vue 项目中发起以 /api 开头的请求时,开发服务器会将请求代理到后端地址。

需要注意的是,这种代理配置只适用于开发环境,当你打包部署到生产环境时,前端代码会被编译为静态资源文件,无需再配置代理。在生产环境中,你需要确保前端静态资源文件与后端项目部署在同一个域名下或通过其他方式进行跨域配置。

原文链接:vue前端项目如何配置后端项目的请求地址

生产环境配置后端地址:

生产环境配置后端地址,需要放在nginx配置文件中,参见下一节nginx安装、配置和部署

Nginx安装、配置和前端部署;

前端项目部署方式:

  1. 打包成静态文件跟后端项目部署在一起;
  2. 打包成静态文件部署到单独服务器中(nginx)

方式一:
前端打包到后端 一起部署到服务器
前后端分离项目的部署方法

方式二:
nginx安装-略

nginx常见命令:

# 启动
start nginx
# 停止
nginx -s stop
# 重启
nginx -s reload
# 检查 NGINX 是否正常工作,并显示任何错误或警告信息
nginx -t
# 查看nginx

复制前端dist下的打包静态文件到nginx的html文件夹中

修改配置文件nginx.conf,进行前后端地址配置

# 进入nginx配置目录
cd /usr/local/nginx/conf# 编译nginx.conf配置文件
vim nginx.conf# 找到下面文件位置
server {listen       5173;//这里配置了前端请求端口,java应用的实际端口是8080server_name  192.168.12.131;#charset koi8-r;#access_log  logs/host.access.log  main;# 前端请求地址location / {root   /usr/local/src/html;# 前端静态文件的实际位置index  index.html index.htm;}# 后端请求地址location /prod-api/ {proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://192.168.12.131:8080/;     # 后端接口地址}

浏览器访问:localhost:5173/ 即可

常见错误:

  • 403 Forbidden — 检查访问的端口是否错了;
  • 404 NotFound —检查html文件夹文件、root配置地址、vue配置的publicPath三者是否一致;
  • 后端接口访问错误 —检查proxy_pass 是否配置正确;
  • nginx启动失败:[emerg] invalid number of arguments in “root“ directive in xxx ---- 检查root地址和格式是否正确,末尾有没有;

参考:
vue打包并部署到nginx上
Nginx前后端分离部署配置
Nginx部署vue项目

nginx配置多前端项目:
使用nginx部署多个前端项目(三种方式)
nginx部署多个前端项目详细步骤

前端部署的另一种

vue项目镜像打包;

相关文章:

  • 今天做了两个工具
  • leetcode一天一题-第1天
  • 各种实用设置
  • Mysql/Redis缓存一致性
  • python 基础练习题
  • 趣学前端 | 平平无奇的JavaScript函数
  • 【Web】浅聊XStream反序列化本源之恶意动态代理注入
  • 链动2+1模式与用户留存复购策略:结合消费增值模式的创新应用
  • (C语言)strcpy与strcpy详解,与模拟实现
  • 天啊,腾讯云服务器“地域”选择看这里,选错不能改!
  • k8s中storageClass存储介绍
  • 浅谈 前端的动态绑定属性
  • DAY by DAY 史上最全的Linux常用命令汇总----history游览历史
  • springboot的maven多模块如何混淆jar包
  • 热销商品-爬虫销量信息
  • python3.6+scrapy+mysql 爬虫实战
  • [笔记] php常见简单功能及函数
  • 〔开发系列〕一次关于小程序开发的深度总结
  • avalon2.2的VM生成过程
  • golang中接口赋值与方法集
  • HTTP 简介
  • MySQL QA
  • Nodejs和JavaWeb协助开发
  • React中的“虫洞”——Context
  • Vue学习第二天
  • 飞驰在Mesos的涡轮引擎上
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 记一次和乔布斯合作最难忘的经历
  • 前端技术周刊 2019-02-11 Serverless
  • 前端性能优化——回流与重绘
  • 使用API自动生成工具优化前端工作流
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • ionic异常记录
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #define、const、typedef的差别
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (简单) HDU 2612 Find a way,BFS。
  • (十八)三元表达式和列表解析
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (一)认识微服务
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET 命令行参数包含应用程序路径吗?
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .net程序集学习心得
  • .NET处理HTTP请求
  • .NET应用架构设计:原则、模式与实践 目录预览
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法
  • [Android]使用Retrofit进行网络请求