windows系统部署springboot项目+vue
时间: 2025-01-04 16:32:20 浏览: 7
### 如何在 Windows 系统上部署 Spring Boot 后端与 Vue 前端构建的全栈应用
#### 准备工作
为了成功部署基于 Spring Boot 和 Vue 的全栈应用程序,需先安装必要的工具和环境。确保已安装 JDK (Java Development Kit),Node.js 及 npm(Node Package Manager), Git, 并设置好 Maven 或 Gradle 来管理 Java 项目。
#### 部署 Spring Boot 后端服务
1. **打包 Spring Boot 应用**
使用命令 `mvn clean package` 打包 Spring Boot 工程为 jar 文件[^4]。
2. **运行 Spring Boot 应用程序**
进入包含生成的 JAR 文件的文件夹,执行如下命令启动服务器:
```shell
java -jar your-spring-boot-app.jar
```
#### 构建并部署 Vue 前端部分
1. **构建生产版本**
在 Vue 项目的根目录下运行以下命令来编译前端资源至 dist 文件夹内:
```bash
npm run build
```
2. **托管静态页面**
将上述构建得到的 `dist/` 目录下的所有文件复制到一个支持静态网页发布的环境中去。可以选择 Apache HTTP Server、Nginx 或者任何其他 web server 软件;也可以直接把它们放在另一个简单的 Node.js Express app 中作为静态资产提供给用户访问。
#### 解决跨域资源共享(CORS)问题
如果前后端分离部署,则可能会面临 CORS 错误。可以在 Spring Boot 控制器类中添加注解 @CrossOrigin("*") 或者配置全局 CORS 政策以允许来自特定源的请求到达 API 接口。
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://localhost:8080") // 替换成实际的前端地址
.allowedMethods("GET", "POST", "PUT", "DELETE");
}
}
```
#### 设置反向代理(可选)
对于更复杂的场景,可以考虑使用 Nginx 设定反向代理规则,使得所有的 /api/* 请求都被转发给后端的服务实例处理,而其他的 URL 则由前端单页应用(SPA)负责解析显示。
```nginx
server {
listen 80;
server_name localhost;
location /api/ {
proxy_pass http://backend-service-url/;
}
location / {
root html/dist; # vue build output path
try_files $uri $uri/ /index.html;
}
}
```
阅读全文