终端启动前必须确认三件事:一是当前工作目录为项目根目录(含package.json等配置文件),二是项目依赖已通过npm install等命令安装完成,三是核心启动命令与技术栈匹配(如Vite项目用npm run dev而非npm run serve)。

终端启动前必须确认的三件事
VSCode 终端本身不“运行项目”,它只是执行命令的壳。项目能否启动,取决于你是否已满足底层环境和项目结构要求。
- 当前终端工作目录必须是项目根目录(
package.json或pom.xml或.csproj所在目录),不是子文件夹也不是空目录 - 项目依赖已安装:
npm install、dotnet restore、mvn clean install等必须成功执行过,否则npm run dev会报command not found: vite,dotnet run会提示找不到目标框架 - 必要配置文件存在且未被误删:
vite.config.ts(Vite)、launch.json(调试用)、settings.json中的terminal.integrated.cwd若设为"${workspaceFolder}",但你没以文件夹形式打开项目,终端仍会 fallback 到用户主目录
不同项目类型对应的核心启动命令
别记错命令,不同技术栈的入口脚本完全不同,混用只会卡在报错里。
-
Vue3 + Vite:必须用
npm run dev(或yarn dev/pnpm dev),npm run serve是 Vue CLI 的,Vite 项目里不存在该 script -
.NET WebApi:进项目目录后执行
dotnet run,不是dotnet build—— 后者只编译,不启动监听服务;若提示Unable to run your project,大概率是没在.csproj所在目录 -
Spring Boot(Maven):用
mvn spring-boot:run,不是mvn clean install—— 后者只打包,不启动应用;默认端口是8080,但需看application.properties里的server.port -
纯 Node.js 脚本:直接
node app.js,无需构建步骤;若用 ESM 模块,确保package.json有"type": "module",否则报Cannot use import statement
终端打不开页面?先看这三处配置
90% 的“localhost 打不开”问题,不是网络或防火墙,而是端口或路径配置被改过,却还凭记忆访问。
- 查
vite.config.ts里的server.port,不是vue.config.js(那是 Vue CLI 的,Vite 完全不读) - 查
application.properties或application.yml里的server.port,Spring Boot 不走package.json配置 - 查
launch.json中的url字段(用于调试),如果手动改过但没同步到浏览器地址栏,断点能进,页面就是白屏 - 端口冲突时,
lsof -i :5173(macOS/Linux)或netstat -ano | findstr :5173(Windows)比“重启电脑”快得多
为什么终端里按 Ctrl+C 没反应?
不是 VSCode 卡了,是进程没收到 SIGINT 信号——常见于后台服务或某些框架的守护模式。
- Vite、Spring Boot、dotnet run 默认支持 Ctrl+C 退出,但如果终端被重定向(比如加了
> log.txt)或用了nohup,Ctrl+C 就失效 - Node.js 原生 HTTP 服务有时会忽略中断,建议在
server.listen()后加process.on('SIGINT', () => server.close()) - 如果 Ctrl+C 无效,别狂按,先用
ps aux | grep node(或对应进程名)找 PID,再kill -9 PID强杀,否则下次启动会报端口占用
code file.js 启动时,终端根本不在项目根目录——这种情况下所有命令都会失败,但错误信息往往指向“找不到模块”,而不是“路径不对”。


















