news 2026/5/26 21:36:57

从零到一:Spring Boot + Vue 项目前后端运行完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零到一:Spring Boot + Vue 项目前后端运行完整指南

手把手教你解决 PyCharm 运行 Spring Boot、Maven 项目启动、Vue 依赖安装巨慢等常见坑

前言

最近接手了一个springboot-vue项目,本以为前后端分离跑起来很简单,结果从npm install的各种报错,到 PyCharm 里跑 Spring Boot 的配置,踩了不少坑。本文把完整的解决过程记录下来,希望能帮你少走弯路。

一、在 PyCharm 中运行 Spring Boot 项目

PyCharm 本身是 Python IDE,但通过插件和 Maven 配置也可以很好地运行 Spring Boot 项目。

1. 安装 Java 支持插件

  • 打开FileSettingsPlugins

  • 搜索 “Java”,安装Java Support插件,重启 IDE

2. 配置 Maven

  • SettingsBuild, Execution, DeploymentBuild ToolsMaven

  • 设置Maven home directory(指向你本地 Maven 安装路径)

3. 创建运行配置

  • RunEdit Configurations+Maven

  • 填写:

    • Name:Run Spring Boot

    • Command line:spring-boot:run

  • 可选:勾选Skip Tests加速启动

之后点击右上角绿色三角即可运行。

4. 备选:直接使用命令行

在项目根目录(包含pom.xml)打开 Terminal,执行:

bash

mvn spring-boot:run

或使用项目自带的 Maven Wrapper:

bash

./mvnw spring-boot:run

二、Maven 项目怎么跑起来

常用 Maven 命令

命令说明
mvn clean清理 target 目录
mvn compile编译源码
mvn test执行单元测试
mvn package打包成 jar/war
mvn install打包并安装到本地仓库
mvn spring-boot:run直接运行 Spring Boot 项目
mvn tomcat7:run传统 Web 项目用 Tomcat 插件运行

在 IDE 中快速执行

  • IntelliJ IDEA:右侧 Maven 工具栏,展开LifecyclePlugins双击即可

  • Eclipse:右键项目 →Run AsMaven build...→ 输入clean install

  • VS Code:安装Extension Pack for Java后,左侧 Maven 视图直接点击命令

三、Vue 项目依赖安装失败?这里有你需要的所有解法

前端项目在vue目录下执行npm install时,遇到了大量错误:

text

npm warn tar ENOENT: Cannot cd into '.../node_modules/...' npm warn tarball tarball data for ... seems to be corrupted

同时npm install速度极慢,几分钟都装不完。

问题原因

  1. npm 缓存损坏:导致解压依赖包时失败

  2. 项目路径包含中文D:\Develop\_接单\...中的中文可能引起工具链兼容问题

  3. 网络慢:默认 npm 源在国外,下载速度极慢

完整解决步骤

Step 1:将项目移动到纯英文路径

text

原路径:D:\Develop\_接单\springboot-vue\foster\vue 新路径:D:\Develop\springboot-vue\foster\vue
Step 2:清除 npm 缓存并重装

bash

# 进入项目目录 cd D:\Develop\springboot-vue\foster\vue # 删除已有依赖和锁文件 rmdir /s /q node_modules del package-lock.json # 强制清理缓存 npm cache clean --force # 使用国内镜像源安装(腾讯云示例) npm install --registry=https://mirrors.cloud.tencent.com/npm/
Step 3:永久切换国内镜像源(推荐)

bash

# 设为淘宝镜像 npm config set registry https://registry.npmmirror.com/ # 验证 npm config get registry
Step 4:加速大型二进制包下载(如 puppeteer、electron 等)

如果项目中包含这类包,单独配置环境变量:

bash

# Windows CMD set PUPPETEER_DOWNLOAD_HOST=https://registry.npmmirror.com/-/binary/chromium-browsers/

或使用 PowerShell:

powershell

$env:PUPPETEER_DOWNLOAD_HOST="https://registry.npmmirror.com/-/binary/chromium-browsers/"
Step 5:终极提速——换用 pnpm

bash

# 全局安装 pnpm npm install -g pnpm # 之后使用 pnpm install 代替 npm install pnpm install

四、Vue 项目的 package.json 详解与启动

成功安装后,我们来看典型的package.json

json

{ "name": "vue", "version": "0.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build" }, "dependencies": { "axios": "^1.8.1", "core-js": "^3.8.3", "echarts": "^5.6.0", "element-ui": "^2.15.14", "vue": "^2.6.14", "vue-router": "^3.5.1" }, "devDependencies": { "@vue/cli-plugin-babel": "~5.0.0", "@vue/cli-plugin-router": "~5.0.0", "@vue/cli-service": "~5.0.0", "vue-template-compiler": "^2.6.14" } }

两个核心脚本的区别

脚本命令用途是否生成文件
servenpm run serve启动开发服务器(热重载、调试)否(运行在内存)
buildnpm run build生产环境打包(压缩、优化)是,生成dist文件夹

有人会问:为什么是serve而不是server
这是 Vue CLI 官方规定的动词命名(提供开发服务),不是拼写错误。如果习惯server可以自己改,但保留官方命名有助于团队协作。

启动开发服务器

bash

npm run serve

输出类似:

text

App running at: - Local: http://localhost:8080/ - Network: http://192.168.x.x:8080/

打包生产文件

bash

npm run build

生成的dist目录可直接部署到 Nginx、Tomcat 等服务器,或复制到 Spring Boot 的src/main/resources/static下。

五、前后端联调常见问题

1. 端口冲突

Vue 默认 8080,Spring Boot 默认也是 8080。
解决方案:在后端application.properties中修改端口:

properties

server.port=8081

2. 跨域问题

前端访问后端 API 时浏览器报跨域错误。
解决方案:在vue目录下创建vue.config.js,配置代理:

javascript

module.exports = { devServer: { proxy: { '/api': { target: 'http://localhost:8081', // 后端地址 changeOrigin: true, pathRewrite: { '^/api': '' } } } } }

之后前端所有/api/xxx请求会被转发到后端,无需处理 CORS。

六、总结

阶段关键命令 / 操作
后端启动(Maven)mvn spring-boot:run
前端依赖安装npm install --registry=https://registry.npmmirror.com/
前端开发npm run serve
前端打包npm run build
前后端联调配置代理或修改后端端口

另外记住三点:

  • 路径不要有中文,否则 npm 可能各种诡异错误

  • npm 安装慢就换镜像源,淘宝/腾讯/华为随便挑

  • serve 是开发,build 是上线,别混用

希望这篇文章能帮你顺利跑起 Spring Boot + Vue 项目。如果你也踩过其他奇怪的坑,欢迎评论区交流!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 21:35:18

为什么说 90% 的 RAG 应用都会死在 Agent 手里?

博客标题选项 《90%的RAG应用死在Agent手里?踩过12个生产坑后我总结了根因与避坑指南》《RAGAgent落地死亡魔咒:为什么你做的智能问答系统上线就崩?》《拆解RAG Agent的7个致命缺陷:从原型到生产的90%淘汰率是怎么来的》《别再乱加…

作者头像 李华
网站建设 2026/5/26 21:33:45

ViGEmBus终极指南:Windows游戏控制器虚拟化的完整解决方案

ViGEmBus终极指南:Windows游戏控制器虚拟化的完整解决方案 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾经遇到过这样的问题&#xff…

作者头像 李华
网站建设 2026/5/26 21:29:10

知识竞赛抢答提示效果:声音与动画的双重冲击

知识竞赛抢答提示效果:声音与动画的双重冲击听觉先行 视觉确认 让每一次抢答都激情四射🎯 引言在知识竞赛中,抢答环节往往是最紧张、最扣人心弦的部分。一个出色的抢答提示效果,不仅能点燃现场气氛,还能帮助选手和观…

作者头像 李华
网站建设 2026/5/26 21:20:24

ArcGIS矢量数据空间参考转换实战:从地理坐标到投影坐标的精准映射

1. 地理坐标系与投影坐标系的本质区别 当你第一次接触GIS数据时,最容易被绕晕的就是这两个概念:地理坐标系和投影坐标系。简单来说,地理坐标系就像地球仪上的经纬网,用经度(longitude)和纬度(latitude)来表示位置;而投…

作者头像 李华
网站建设 2026/5/26 21:19:15

LinkSwift网盘直链助手:一键获取九大网盘真实下载地址的终极指南

LinkSwift网盘直链助手:一键获取九大网盘真实下载地址的终极指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云…

作者头像 李华