环境搭好需满足node/npm命令可用且vscode调试器能单步执行、查看变量;关键在path配置、launch.json的type设为node、npm init -y初始化项目、仅装eslint和prettier插件。

能直接跑 node 和 npm 命令,且调试器能单步进函数、看到变量值,才算搭好了——不是装完软件就叫“环境搭好”。很多卡点不在 Node 或 VSCode 本身,而在 PATH、权限、或 launch.json 的 mode 字段写错。
验证 node 和 npm 是否真可用
别只信安装界面的“成功”提示。打开系统终端(不是 VSCode 内置终端),执行:
node -v<br>npm -v
如果报 'node' 不是内部或外部命令,说明 PATH 没生效。Windows 用户常见问题是安装时没勾选 Add to PATH;macOS/Linux 用户若用 nvm,得确认当前 shell 已加载 nvm 初始化脚本(比如 source ~/.nvm/nvm.sh)。VSCode 内置终端继承的是启动它的 shell 环境,所以 VSCode 启动方式很重要:务必从终端启动 VSCode(code .),而不是桌面图标双击——后者可能不加载你的 shell 配置。
初始化项目必须运行 npm init -y 而非手动建 package.json
npm init -y 不只是生成 JSON 文件,它会设置 "type": "commonjs"(或留空,由文件后缀决定模块系统),并正确配置 main 字段。手动创建的 package.json 缺少这些,后续用 npm start 或调试时容易触发 ERR_MODULE_NOT_FOUND。尤其当你用 .mjs 或 type: "module" 时,require() 会直接报错,而 npm init 默认不设 type,更兼容传统 Node.js 项目。
调试必须用 launch.json 且 configurations[0].type 设为 node
VSCode 的调试功能不依赖插件,但必须有正确的 launch 配置。按 Ctrl+Shift+D 进入调试视图 → 点“创建 launch.json” → 选 Node.js → 选 Current file。生成的配置里关键项是:
-
"type": "node"—— 不是javascript或pwa-node(后者用于现代 ES 模块调试,但默认不启用) -
"request": "launch"—— 不是attach(那是连已运行进程,新手易混淆) -
"program": "${file}"—— 确保动态指向当前打开的 JS 文件
删掉多余配置项(比如 env 或 console 字段),避免干扰。断点打在 console.log 行上,按 F5 启动,看调试控制台是否输出并停在断点——这才是真实调试通路。
插件只装 ESLint 和 Prettier,禁用所有“Node.js Extension Pack”类合集
所谓“Node.js 插件包”往往包含过时的调试适配器或重复功能,和 VSCode 内置调试器冲突,导致断点失效或 Debug adapter process has terminated unexpectedly 错误。真正需要的只有:
-
ESLint:检查语法和潜在错误,配合eslint --init生成配置 -
Prettier:格式化代码,但需在 VSCode 设置中关闭Editor: Format On Save,改用ESLint: Fix on Save,避免两者打架
其他如 JavaScript (ES6) code snippets 或 Path Intellisense 属于锦上添花,不解决核心运行与调试问题,反而增加启动延迟和兼容风险。
最常被忽略的是:VSCode 调试器对 import 语法的支持依赖于 type: "module" 和 node --experimental-specifier-resolution=node 参数,但绝大多数教程项目仍用 require()。别一上来就折腾 ESM,先让 const http = require('http') 能断点、能 step into,才是稳的起点。










