vscode本身不提供node.js运行时,必须独立安装并正确配置path;验证需在系统终端执行node -v和npm -v成功,再重启vscode使终端继承环境;launch.json中program推荐"${file}",runtimeexecutable需显式指定以避免多版本冲突。

VSCode 本身不提供 Node.js 运行时,也不内置“开发模板”概念——所谓“模板”,实际是靠 node 命令可用性、launch.json 配置、插件协同和项目结构共同支撑的。装完 Node.js 后在 VSCode 终端里跑不出 node -v,后面所有调试、格式化、自动补全都无从谈起。
node 和 npm 在终端里执行失败,根本不是 VSCode 的问题
很多人卡在这一步:VSCode 里按 Ctrl+` 打开终端,输 node -v 报错 command not found 或 不是内部或外部命令。这不是 VSCode 没配好,而是系统根本没认出 node。
- Windows 用户重装 Node.js 时必须勾选 Add to PATH;若已装过,手动把安装路径(如
C:Program Files odejs)加进「系统环境变量」的Path - macOS/Linux 用
brew install node安装后,确认which node输出的路径已写进~/.zshrc或~/.bash_profile,并执行source ~/.zshrc - 改完 PATH 后,**必须完全关闭 VSCode 所有窗口再重新打开**——它不会自动刷新环境变量
- 验证方式只有一种:在系统自带终端(Terminal / cmd / PowerShell)里运行
node -v和npm -v,双输出才算过关
launch.json 的 program 字段别依赖默认值
VSCode 调试时自动生成的 launch.json 默认是 "program": "${workspaceFolder}/app.js",但你项目入口可能是 index.js、server.js,甚至带 .mjs 后缀。写死路径会直接导致 F5 启动失败。
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
- 优先用
"program": "${file}"—— 调试当前编辑器打开的文件,适合单文件快速验证 - 若项目有固定入口,显式写成
"program": "${workspaceFolder}/index.js",别留空格或拼写错误 - 务必提前保存文件(
Ctrl+S),VSCode 调试器默认不自动保存未存档的变更 - 如果用了
"type": "module",确保入口文件扩展名是.mjs或 package.json 里声明了"type": "module",否则import会报错
runtimeExecutable 不设就容易调错 Node 版本
当你用 nvm 或 fnm 管理多个 Node.js 版本时,VSCode 内置终端可能用的是 shell 里的当前版本,但调试器却从 PATH 开头找 node,结果两者不一致——断点失效、process.version 对不上、require 行为异常都是典型表现。
- 在
launch.json的配置项里加上"runtimeExecutable"字段,指向你真正想用的二进制路径 - macOS/Linux 示例:
"runtimeExecutable": "/opt/homebrew/bin/node"(用which node确认) - Windows 示例:
"runtimeExecutable": "C:\Users\xxx\scoop\apps\nodejs\current\node.exe"(若用 Scoop) - 加完后,在代码里写
console.log(process.execPath),对比终端执行和调试器输出是否一致
ESLint + Prettier 协同要防规则打架
装了两个插件却不配规则,反而会让格式化变乱:Prettier 格式化完,ESLint 又标红说 “semi missing”,或者自动删掉分号后又报 “no-unused-vars”。这不是插件不好,是没对齐语义。
- 项目根目录运行
npx eslint --init,选 “JavaScript modules (import/export)” + “Node” + “Airbnb” 或 “Standard” - 装
eslint-config-prettier和eslint-plugin-prettier,并在.eslintrc.js的extends末尾加上'prettier' - VSCode 设置里开
editor.formatOnSave和editor.codeActionsOnSave→source.fixAll.eslint,但不要同时开 Prettier 的 formatOnSave - 关键点:
prettier只负责格式,eslint负责逻辑与风格检查,分工不清就会互相覆盖
最常被跳过的动作,是验证 node 是否真被 VSCode 终端继承——而不是只在系统终端里测一次就以为万事大吉。哪怕 PATH 改对了,VSCode 不重启,终端照样读旧环境。










