VSCode本身不运行Vue项目,仅提供编辑和终端环境;真正启动服务的是项目构建工具(Vite或Vue CLI),需在项目根目录执行npm run dev(Vite)或npm run serve(Vue CLI)等package.json中scripts定义的命令。

VSCode 本身不运行 Vue 项目,它只是个编辑器;真正启动服务的是你项目里配置的构建工具(Vite 或 Vue CLI),靠的是终端里执行 npm run dev 或 npm run serve 这类命令。只要终端能跑通,VSCode 就没问题;跑不通,问题一定在环境、依赖或脚本定义上,而不是 VSCode 设置错了。
怎么确认该输哪个命令?看 package.json 的 scripts 字段
Vue 项目启动命令不是固定的,完全取决于 package.json 里 scripts 字段怎么写。Vite 和 Vue CLI 的默认脚本名不同,不能混用:
- Vite 创建的项目:常见是
"dev": "vite"或"dev": "vite --host"→ 必须用npm run dev - Vue CLI 创建的项目:常见是
"serve": "vue-cli-service serve"→ 必须用npm run serve - 有些老项目或自定义配置可能写成
"start": "vue-cli-service serve"→ 那就得用npm start - 输错脚本名会报
ERR! Missing script: "dev"这类错误,别凭记忆硬敲,每次都要打开package.json看一眼
终端没反应或报 command not found?先查 Node.js 和 node_modules
这不是 VSCode 的问题,而是本地环境没准备好:
- 运行
node -v和npm -v,必须能输出版本号(2026 年推荐 Node.js v18.17+ 或 v20.9+) - 确认当前终端路径是项目根目录(有
package.json和node_modules文件夹),用pwd(macOS/Linux)或cd(Windows)检查 -
node_modules为空或根本不存在?必须先运行npm install(或yarn install/pnpm install) - VSCode 终端有时继承了错误的
PATH,可按Ctrl+Shift+P→ 输入 “Terminal: Select Default Profile”,选带 “Node.js” 或 “PowerShell” 的配置
断点进不去 <script setup>?Volar 没配对
即使服务跑起来了,调试失败大概率是语言服务没对上:
PigX UI Pro 前端开发指南 - Vue 3 + TypeScript + Element Plus。当用户提到 PigX UI、PigX 前端、lgb-mgui 项目、Vue 3 企业级后台开发、Element Plus 后台开发时使用此技能。
立即学习“前端免费学习笔记(深入)”;
- 必须装
Volar插件,并在 VSCode 设置里彻底禁用Vetur(二者冲突,禁用不干净会导致模板解析异常) - 项目用 TypeScript 的话,还得装
TypeScript Vue Plugin (Volar),否则.vue文件里的类型推导和跳转会失效 - 在项目根目录的
.vscode/settings.json中加这一行:"vue.preferences.experimentalScriptSetupSFCMode": "enabled",否则<script setup>可能被当作文本处理
页面空白或打不开?别只盯着终端日志末尾
终端显示 “Compiled successfully” 只代表构建完成,不代表服务可用:
- 真实监听地址在日志最后几行,比如
Local: http://localhost:5173/(Vite)或Local: http://localhost:8080/(Vue CLI)——注意端口号,不是所有项目都用 8080 - 端口被占用了?用
lsof -i :5173(macOS/Linux)或netstat -ano | findstr :5173(Windows)找 PID 并kill掉 - 临时换端口:加参数
npm run dev -- --port 3001(双横线--是关键,漏了就无效) - 页面空白但控制台无报错?打开浏览器开发者工具 →
Network标签页,看index.html是否返回 200,后续.js文件是否 404
最常被忽略的是:package.json 脚本名和实际执行命令必须一字不差,大小写、空格、拼写全算;还有 node_modules 是否真的完整安装——很多“跑不起来”其实卡在这两步,跟 VSCode 关系不大。

















