先查PATH和安装选项:Windows下node -v报“不是内部命令”主因是安装未勾选Add toPATH或路径含中文/空格,需用where node验证,缺失则手动添加安装目录到系统Path并重启VSCode。

node -v 报“不是内部命令”?先查 PATH 和安装选项
这不是 Node.js 没装好,而是系统根本找不到 node 这个可执行文件。Windows 上最常见原因是安装时没勾选 Add to PATH,或者手动装到了中文路径(比如 D:\软件\nodejs),导致环境变量失效。
验证方式很简单:打开 CMD,输入 where node。如果返回空,说明 PATH 里没加进去;如果报错“找不到”,那大概率是装在了带空格或中文的路径下。
- 重装 Node.js,务必勾选
Add to PATH和Automatically install the necessary tools - 若已装好但 PATH 缺失,手动把 Node.js 安装目录(如
C:\Program Files\nodejs)加到系统环境变量Path里 - VSCode 内置终端需重启才能读取新 PATH —— 关掉所有 VSCode 窗口再重开,别只关终端
VSCode 终端里 npm run dev 启动失败?检查 package.json 脚本和当前工作目录
常见现象是提示 npm ERR! missing script: dev 或 Cannot find module 'express'。前者说明 package.json 里压根没定义 dev 脚本;后者往往是终端没在项目根目录运行,导致 node_modules 找不到。
VSCode 的终端默认打开位置取决于你「用什么方式打开项目」:直接双击文件夹进 VSCode ≠ 用「文件 → 打开文件夹」打开。后者才确保终端路径正确。
-
package.json中必须有类似"scripts": {"dev": "node index.js"}的字段 - 确认终端左上角显示的路径和资源管理器顶部路径一致,不一致就用
cd切过去 - 首次运行前先执行
npm install,别跳过 —— 即使你看到node_modules文件夹存在,也可能版本不匹配
断点不生效、调试器一闪而过?launch.json 配置必须匹配入口文件名
VSCode 调试 Node.js 不依赖插件,但 launch.json 里 program 字段写错了,断点就永远进不去。很多人复制教程里的 app.js,结果自己文件叫 server.js 或 index.js,调试器启动后直接退出。
更隐蔽的问题是:如果你用 nodemon 或 ts-node,launch.json 不能直接设 program 为源文件,得改成调用器本身。
- 最简配置只改一行:
"program": "${file}"(当前文件)或"program": "${workspaceFolder}/index.js"(固定入口) - 用
nodemon调试时,runtimeExecutable设为nodemon,runtimeArgs加["--inspect-brk", "${workspaceFolder}/index.js"] - 断点打在
console.log前,别打在注释行或空行上 —— VSCode 不会在那儿停
代码补全弱、跳转定义失效?别只装 ESLint,TypeScript 类型声明才是关键
JS 项目里智能提示差,90% 不是插件问题,而是缺少类型定义。ESLint 只管语法,Prettier 只管格式,真正让 VSCode 知道 express().get() 有哪些参数的,是 @types/express 这类包。
尤其当你用 Express、MongoDB、Axios 这些主流库时,不装对应 @types/*,VSCode 就只能靠猜,req. 敲下去没提示,res.status(200) 也看不出参数类型。
- 安装命令统一用:
npm install --save-dev @types/express @types/node - 如果项目已有
jsconfig.json,确保"checkJs": true和"allowJs": true开启 - 重启 TS 服务:VSCode 右下角点击 TypeScript 版本号 → “Restart TS Server”


















