将Spring Boot 项目和Vue 项目打包成一个可运行的项目

将Spring Boot项目和Vue项目打包成一个可执行项目通常涉及以下步骤:

  1. 构建Vue项目:在Vue项目根目录下运行npm run build,生成一个可供部署的dist目录。
  2. 构建Spring Boot项目:使用Maven或Gradle打包Spring Boot项目为一个可执行的Jar文件。
  3. 配置前后端分离:确保Spring Boot项目中的Controller等不处理静态资源请求,或者将Vue构建的静态文件放置在Spring Boot项目的静态资源目录下。
  4. 合并Jar文件和dist目录:将Vue构建生成的dist目录和Spring Boot生成的Jar文件合并到一个目录中。
  5. 配置服务器:配置服务器(如Nginx或Apache)来代理Vue静态资源和转发API请求到Spring Boot应用。

以下是简化版的实例步骤:

步骤1:构建Vue项目




cd vue-project
npm install
npm run build

步骤2:构建Spring Boot项目




cd spring-boot-project
./mvnw clean package

步骤3:配置前后端分离

确保Spring Boot的控制器不处理静态资源或者将静态资源放置在合适的位置。

步骤4:合并Jar文件和dist目录




mkdir all-in-one
cp -r vue-project/dist/* all-in-one/
cp spring-boot-project/target/spring-boot-project.jar all-in-one/

步骤5:配置服务器




server {
    listen 80;
    server_name your-domain.com;
 
    location / {
        root /path/to/all-in-one/dist;
        try_files $uri $uri/ /index.html;
    }
 
    location /api/ {
        proxy_pass http://localhost:8080; # 假设Spring Boot应用运行在localhost的8080端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

以上步骤提供了一个概念性的指导,根据实际情况可能需要调整。例如,如果你想要将Spring Boot应用直接打包成一个包含Vue静态文件的单个Jar文件,你可能需要使用Spring Boot的Maven插件或Gradle插件来包含静态资源。这种情况下,步骤1到3保持不变,步骤4中不需要合并Jar文件,步骤5中配置服务器的静态资源位置指向内嵌在Jar文件中的Vue静态资源。

最后修改于:2024年08月11日 17:55

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日