恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

用VS Code运行Vue项目:从环境配置到问题排查全指南

  • 首页
  • 资讯中心
  • /
  • 用VS Code运行Vue项目:从环境配置到问题排查全指南

相关资讯

Go Web 服务开发指南:Socket、WebSocket、REST 与 RPC 的 Go 实现(build-web-application-with-golang 第 8 章) 2026/10/1 2:07:27
localhost:3000拒绝访问排查:端口监听与容器映射 2026/10/1 2:07:27
一人企业画布Excel模板:如何用结构化工具规划你的个人事业 2026/10/1 2:02:27

最新资讯

南康售后完善的GEO服务商综合实力推荐:口碑不错的正规服务商合作实力参考
多模型股价预测实战:数据管道、验证与LSTM调参
ARIMAX多变量时序预测实战:从数据对齐到业务归因
YOLO垃圾分类数据集:支持VOC/COCO/YOLO三格式的工业级训练部署包
Fabric企业级区块链可信账本落地实践
隧道代理实战:如何避免403/429导致采集任务大面积失败

今日推荐

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

本周热门

从像素到笔画:srt-whiteboard-animation骨架笔迹追踪实现(Zhang-Suen细化+8邻接追踪)
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
新手入门看这篇:建设网站加盟避坑指南与SEO实操

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

用VS Code运行Vue项目:从环境配置到问题排查全指南

发布时间:2026/10/1 2:07:27
用VS Code运行Vue项目:从环境配置到问题排查全指南 我们直接进入正题用 VS Code 运行 Vue 项目。这篇文章就是写给那些刚接触 Vue 或者被“环境配置”劝退的人我把从零到跑起来的完整路径、中间会踩的坑、以及跑起来之后怎么调、怎么查全部拆开讲。先说明一点这不需要你有多深的计算机功底但你要有耐心因为前端环境这东西80% 的问题都出在版本和依赖上。1. 环境准备把地基打牢再动手很多人拿到 Vue 项目第一步就是npm install结果装到一半报错、装完了启动报错、启动成功了几分钟后又各种警告其实绝大多数问题都能在环境这一步提前避免。环境和工具链的高版本不一定是最稳定的适合项目、适合团队、适合你操作系统版本的才是最好的。1.1 Node.js 版本怎么选Vue 项目跑起来离不开 Node.js它不仅是包管理器 npm 的运行基础也是 Vite、Webpack 这些构建工具的宿主环境。你可以把 Node.js 理解成 Vue 项目的“运行时”版本不对后面全白搭。之前实际测试过Vue 3 Vite 5 的项目Node 18.18 及以上跑得很顺Vue 2 Webpack 的老项目Node 14 到 16 是舒适区强行用 Node 20 去跑老项目经常出现OpenSSLError这种加密库兼容性问题很多人卡在这一步其实不是代码问题是 Node 版本的问题。推荐方案直接用nvmNode Version Manager管理多个 Node 版本随时切换。Windows 用户去装 nvm-windowsmacOS 用户用 nvm 命令即可。安装完执行nvm install 18.18.0 nvm use 18.18.0 node -v看到v18.18.0就说明切过来了。如果你懒得装 nvm那就确保你本机的 Node 版本不低于 16且尽可能用 LTS长期支持版。说句实在话Node 版本的选择没有统一答案但 LTS 版本永远是最稳妥的起点。1.2 包管理器用哪个npm、yarn 还是 pnpm很多新手会纠结这个问题我直接说结论如果项目里有pnpm-lock.yaml优先用 pnpm有yarn.lock用 yarn只有package-lock.json就用 npm。别混用混用 lock 文件会造成依赖版本漂移项目在你电脑上能跑在同事电脑上跑不起来或者今天跑起来明天跑不起来都是这种问题。npm 是 Node.js 自带的不用额外安装。pnpm 的优势是省磁盘空间、安装速度快而且对 monorepo 的支持很好。如果你没有历史包袱建议直接上 pnpmnpm install -g pnpm pnpm install注意一点执行安装命令之前确认自己是否开了全局代理之类的东西。国内开发者如果下载依赖太慢或者一直失败可以把 npm 镜像切到淘宝源npm config set registry https://registry.npmmirror.com pnpm config set registry https://registry.npmmirror.com实测下来镜像切换之后安装速度能有显著提升尤其是node-sass、electron这类带二进制文件的依赖。但切了镜像之后如果还失败那大概率是别的问题后面会专门讲。2. VS Code 安装与插件配置环境层搞定后轮到编辑器环节。VS Code 本身只是一个编辑器装上合适的插件和配置之后才会变成真正顺手的 Vue 开发 IDE。2.1 VS Code 下载安装要注意什么VS Code 下载直接去官网就行认准code.visualstudio.com其他渠道下载的安装包来历不明不推荐。安装的时候有一点要特别留意Windows 用户建议勾选“Add to PATH”和“Register as default editor”这两个选项这样之后在命令行里执行code .就能直接用 VS Code 打开当前目录配合终端操作效率翻倍。安装完后打开 VS Code左侧栏是功能图标区CtrlShiftX打开扩展面板这里是整个编辑器生态的核心入口。所有插件都是从这安装的。2.2 必装插件清单下面这几款插件是运行 Vue 项目时我实测下来真正有用的不是广告是我自己日常开发离不开的插件名作用备注Vue Language Features (Volar)Vue 3 项目的语法高亮、类型检查、模板智能提示老项目如果用的 Vue 2建议暂时用 VeturTypeScript Vue Plugin配合 Volar 做 TS 支持项目是 JS 写的可以跳过ESLint代码规范检查现场报错配合项目的.eslintrc配置Prettier代码格式统一保存时自动格式化非常提升幸福感Auto Rename Tag修改 HTML 标签时自动同步开闭标签写模板片段必备Path Intellisense路径提示自动补全 import避免手写路径大小写错误Volar 这地方多说一句Vue 3 项目千万不要再装 Vetur两个插件同时开启会冲突导致提示错乱这是新手很容易踩的坑。无论是从 Vue 2 迁移还是新开 Vue 3 项目统一用 Volar 就够了。2.3 编辑器基础配置插件装好之后打开设置Ctrl,把下面这几项加上基本就处于舒服状态了{ editor.formatOnSave: true, editor.defaultFormatter: esbenp.prettier-vscode, editor.tabSize: 2, files.eol: \n, emmet.includeLanguages: { vue-html: html, vue: html } }files.eol设为\n是为了避免 Windows 环境下的 CRLF 和 Linux 下的 LF 混用这能防止团队协作时出现“明明没改过这行代码git diff 却显示整行被改动”的尴尬情况。这个细节我真建议每个人都配置上能省去很莫名其妙的沟通成本。3. 创建并运行 Vue 项目的完整流程环境装好了插件配好了现在开始真正“跑起来”。这里我分三条路径来说从零创建项目、从 Git 拉取已有项目、以及启动之后的内部逻辑。3.1 用 Vite 创建 Vue 3 项目Vue 官方现在推荐的构建工具是 Vite启动速度快、热更新快体感上比老一代的 Webpack 舒服太多。在终端执行npm create vuelatest执行之后会问你项目名字、是否使用 TypeScript、是否包含路由Vue Router、是否安装 Pinia状态管理、是否需要 ESLint 和 Prettier 等等。新手建议先都选“No”等跑通整个流程后再逐步加种类插件这样排查问题的时候范围会更小。或者更直接一点用 Vite 官方模板npm create vitelatest my-vue-app -- --template vue cd my-vue-app npm install npm run dev注意这里my-vue-app就是你的项目目录名可以随意替换。看到终端输出Local: http://localhost:5173/的时候项目就已经起来了浏览器打开这个地址即可看到默认页面。3.2 用 VS Code 打开项目并启动创建好的项目在当前目录执行code .VS Code 就会打开整个项目目录。左侧文件树里能看到src、public、package.json、vite.config.js这些文件和目录这就是一个 Vue 项目的基本骨架。在 VS Code 里按Ctrl反引号调出内置终端运行npm run dev启动命令运行后Vite 会占住终端进程这个终端窗口不要关一旦关闭项目就停了。Vite 的热更新HMR默认开启你改任何.vue文件的代码浏览器页面会在几百毫秒内自动同步刷新不需要手动刷新浏览器。这里要提醒一句如果终端报了vite: not recognized之类的错误说明 npm scripts 没跑起来大概率是依赖没装好重新执行一次npm install再看结果。依赖装好后在package.json的scripts字段里dev就是开发模式启动脚本build是打包生产版本preview是本地预览打包结果。3.3 npm run dev 之后发生了什么这段内容适合那些不满足于“能跑就行”的人。npm run dev等于执行了node_modules/.bin/viteVite 启动了一个本地开发服务器它做的事情包括读取index.html作为入口通过 ES Module 的方式解析src/main.js里 import 的各种模块把.vue单文件组件编译成浏览器能识别的 JS 对象启动 WebSocket 服务用于热更新推送vite.config.js里的server.port字段可以修改端口号默认 5173。如果端口被占用Vite 会自动加一控制台会提示最终使用的端口不用太紧张。4. 调试与接口联调项目跑起来了只是第一步真正开发过程中的痛点更多集中在“页面出来了但数据没出来”这类问题上。这就要说到调试和接口联调。4.1 配置断点调试launch.json很多新手只在代码里写console.log来排查问题如果是简单逻辑还好但遇到复杂数据流时效率极低。VS Code 自带调试面板配置一次之后可以直接在编辑器里打断点、单步执行、查看变量值。点击左侧的“运行和调试”图标创建一个launch.json对于 Vite 项目配置如下{ version: 0.2.0, configurations: [ { type: chrome, request: launch, name: Debug in Chrome, url: http://localhost:5173, webRoot: ${workspaceFolder}/src } ] }先启动npm run dev然后按F5VS Code 会自动打开一个新的 Chrome 窗口并进入调试模式。在.vue文件的script代码行号左边点一下设置断点再在页面上触发对应的交互代码执行到断点时就会暂停你可以悬停查看变量值也可以按F10单步跳过、F11进入函数内部比console.log排查问题效率高出不少。4.2 跨域问题怎么处理开发中几乎一定会遇到接口跨域。前端跑在localhost:5173后端跑在localhost:8080浏览器出于同源策略默认会拦截两者之间的请求。处理方式很多开发环境下最简单暴力的就是配置 Vite 代理。在vite.config.js里加一段import { defineConfig } from vite import vue from vitejs/plugin-vue export default defineConfig({ plugins: [vue()], server: { proxy: { /api: { target: http://localhost:8080, changeOrigin: true, rewrite: (path) path.replace(/^\/api/, ) } } } })配置完成后前端代码里请求/api/loginVite 会把请求转发到http://localhost:8080/login同时浏览器看到的还是同源请求跨域问题直接消失。changeOrigin: true的意思是让后端收到请求时认为请求来自localhost:8080本身避免部分后端框架的防盗链机制误判。这个配置也是前后端分离项目联调的基础后面只要看到“Access-Control-Allow-Origin”之类的报错第一反应就是代理没配好或者后端没开 CORS。4.3 状态管理选 Pinia 还是 Vuex热词里有“pinia vs vuex”这里顺带讲一下。Vuex 是 Vue 2 时代的官方状态管理库Vuex 4 虽然也支持 Vue 3但写法上还是略显繁琐。Pinia 是 Vue 3 时代的官方推荐去掉了mutations的概念直接改 stateAPI 更加简洁而且天然支持 Composition API 和 TypeScript。如果你是全新项目直接用 Pinia 就好。创建 store// stores/counter.js import { defineStore } from pinia export const useCounterStore defineStore(counter, { state: () ({ count: 0 }), actions: { increment() { this.count } } })组件里使用script setup import { useCounterStore } from /stores/counter const counter useCounterStore() /script template button clickcounter.increment{{ counter.count }}/button /template如果是从老项目迁移过来的Vuex 也不是不能用但新项目没必要再绕远路。小项目甚至不需要状态管理用ref配合provide/inject就足够了别过度设计。5. 常见问题排查实录这一节是所有你可能会遇到的、有代表性的坑基本都是我用 VS Code 跑 Vue 项目时踩过或者帮别人解决过的真实问题。我之前差不多把这些整理成一份速查表特别适合遇到错误时对照着看。5.1 端口占用启动的时候提示Port 5173 is already in use页面死活打不开。解决方式有两种一是关掉占用端口的进程二是改端口。快速查找占用端口的进程# Windows netstat -ano | findstr :5173 taskkill /PID 12345 /F # macOS / Linux lsof -i :5173 kill -9 12345懒人方案是直接在vite.config.js里设置server.port和strictPort: false这样端口被占用时 Vite 会自动往上找可用端口不会中断启动。但我自己还是习惯先找出是谁占了端口有时候占端口的可能是另一个跑着的开发服务误杀了也不太好。5.2 依赖安装失败npm install中途报错常见的原因有这么几类第一类是网络问题解决方案前面提过换淘宝镜像。第二类是权限问题报EACCES错误基本上是因为全局安装时没有权限macOS/Linux 下用sudo或者先修复 npm 的全局目录权限Windows 下用管理员身份的 PowerShell 执行。第三类也是最阴间的某些二进制依赖node-sass、sharp等下载预编译二进制文件失败报错信息里往往出现ERR! node-pre-gyp或者python相关字样。这类问题没有一劳永逸的解法通常是先删掉node_modules和 lock 文件重新装一遍或者去搜对应包的中文 mirror 配置。第四类是 Node 版本过高导致原生模块编译失败。这时候降 Node 版本用 nvm到项目要求的范围内再重新 install多半可以解决。5.3 打包后布局异常热词里有一条“vue 打包后布局异常”这个现象非常典型开发模式一切正常npm run build之后部署上线发现样式错乱了。原因九成出在静态资源路径和路由模式上。Vite 打包后默认资源路径是绝对路径/assets/xxx如果你的项目部署在服务器的子目录下比如https://example.com/my-app/就会找不到资源导致页面白屏或样式失效。对应的处理方式是在vite.config.js里配置base: ./让资源以相对路径引用export default defineConfig({ base: ./ })另外Vue Router 如果用了createWebHistory模式打包后手动刷新子路由页面会 404这是纯前端路由在静态服务器上的经典问题解决办法要么改用createWebHashHistory要么在后端配置路径重写把未知路由都指向index.html。5.4 其他高频问题速查表问题现象常见原因解决思路终端显示command not found: npmNode.js 未安装或 PATH 未配置重装 Node LTS 版确认能执行node -vVS Code 里 import 报红但项目能运行TypeScript 路径别名没识别配jsconfig.json或tsconfig.json的paths修改代码后页面不刷新也可能是 HMR 断了重启npm run dev确认终端无报错启动时提示opensslErrorStackNode 版本过高换 Node 16/18 版本或者加 NODE_OPTIONS 兼容浏览器页面白屏控制台报 JS 错误可能是某个依赖不支持当前环境看具体报错优先搜报错信息前几行CtrlC无法停止服务Windows 下终端编码问题直接关闭终端窗口除了这些还有一类定位问题的方法值得分享遇到任何报错先看浏览器开发者工具F12的 Console 面板再看到 Network 面板判断是前端代码问题、资源加载问题还是接口请求问题。大多数前端运行报错都能通过这两步精准定位不需要一上来就在搜索引擎里复制整段报错。6. 一些进阶提升建议到这里用 VS Code 跑 Vue 项目已经基本跑顺了。如果你还愿意继续深入下面这些方向大概率是你的下一步需求也是论坛上大家问得比较多的话题。6.1 路由传参和页面跳转Vue Router 是 Vue 项目的核心依赖之一热词里也有“vue路由”和“vue路由参数”。最常见的用法是// 跳转并携带参数 router.push({ path: /detail, query: { id: 1 } }) router.push({ name: detail, params: { id: 1 } }) // 接收参数 const route useRoute() console.log(route.query.id) console.log(route.params.id)注意query用在path跳转params必须配合name跳转否则参数会丢失。这个坑新手经常踩我也是反复吃亏之后才勉强形成了条件反射。6.2 前后端分离项目联调热词里“springboot vue前后端分离”“fastapi vue前后端分离”都指向同一件事后端一个服务前端一个服务两边独立开发通过接口通信。这种模式下Vite 代理配置是连接两端的桥梁把/api开头的请求转发到后端地址前端开发时不需要关心后端跑在哪台机器只留意代理配置正确即可。另外联调时建议前后端约定好统一的接口返回结构比如{ code: 0, message: success, data: {} }前端就能用统一的 axios 拦截器处理错误和加载状态减少重复代码。这类约定看起来平常但在真实项目里能让沟通成本大幅下降。6.3 视频播放m3u8等场景热词里出现“vue播放m3u8”这属于 Vue 项目里的实际业务需求。m3u8 是 HLS 视频流协议的索引文件格式前端播放通常用hls.js库npm install hls.js在 Vue 组件里用script setup import Hls from hls.js import { ref, onMounted } from vue const videoRef ref(null) onMounted(() { const video videoRef.value if (Hls.isSupported()) { const hls new Hls() hls.loadSource(https://example.com/video/stream.m3u8) hls.attachMedia(video) } }) /script template video refvideoRef controls/video /template这类业务功能与 VS Code 本身关系不大但它提醒我们一件事Vue 项目跑起来只是起点后面真正考验人的是具体业务场景的集成能力。写到这里我觉得最重要的一个建议是不要害怕尝试。项目跑不起来是常态跑起来是幸事每解决一个报错你对这套工具链的理解就会深一层。VS Code 和 Vue 的组合之所以流行正是因为配置门槛已经被降得很低了剩下的只是你对命令、文件和错误信息的熟悉程度。常备一个能随时搜索的浏览器标签页比背多少命令都实用。等到哪天你闭着眼就能完成从安装到启动的整条流程你会觉得这一切都没什么难度——这本身就是进步的过程。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号