根本原因是VSCode终端未加载shell配置文件导致PATH缺失;macOS/Linux需设terminal.integrated.shellArgs为["-l"],Windows应手动补全terminal.integrated.env.windows中的PATH,并彻底重启VSCode生效。

node -v 报错:Command 'node' not found 是什么问题
根本原因是 VSCode 找不到 node 命令,不是插件没装好,而是 Node.js 本身没被系统和 VSCode 正确识别。
- 先在系统终端(比如 Windows 的 CMD 或 PowerShell、macOS/Linux 的 Terminal)里运行
node -v和npm -v—— 如果报错,说明 Node.js 没装或 PATH 没配对 - 重装 Node.js 时务必勾选 “Add to PATH”,LTS 版本更稳;装完别忘了重启 VSCode,否则它仍读取旧环境变量
- VSCode 内置终端(
Ctrl + `)里再试一遍node -v,必须成功,这是后续所有操作的前提 - 如果系统终端能跑、VSCode 终端不能跑,大概率是 VSCode 启动方式不对:不要双击图标启动,而应从已配置好 PATH 的终端里执行
code .
用 Code Runner 插件运行 JS 文件为什么输出乱码或不执行
Code Runner 默认用 node 执行,但它不读 launch.json,也不管你项目结构,容易踩三个坑:
- 它默认工作目录是当前文件所在目录,不是项目根目录 —— 如果代码里用了
require('./config')却没把config.js放在同一级,就会Error: Cannot find module - 它不支持 ES6
import/export,除非你在项目根目录加了{"type": "module"}的package.json,否则直接报语法错误 - 中文路径或文件名可能导致乱码(尤其 Windows),建议整个项目路径不含空格和中文
- 想让它更可靠?删掉 Code Runner,改用终端手动执行
node index.js—— 简单、透明、出错信息完整
ESLint 和 Prettier 自动修复冲突怎么办
保存后代码缩进变了但分号没加、var 没转成 const,说明两者在抢格式化控制权,不是配置漏了,而是分工错了。
- 别同时开
editor.formatOnSave和eslint.autoFixOnSave(后者已废弃)—— 这是冲突根源 - 正确做法:关掉
[javascript]下的editor.formatOnSave,只开editor.codeActionsOnSave:{"source.fixAll.eslint": true} -
eslint.format.enable设为true,让 ESLint 在有可修复规则时接管格式请求 - Prettier 只负责纯样式(引号、换行、括号),ESLint 负责语义(声明方式、空格、解构),二者通过
"extends": ["plugin:prettier/recommended"]集成,不是并列关系
.prettierrc 和 .eslintrc.cjs 加载失败却不报错
常见于 Node.js 项目设了 "type": "module",但配置文件模块系统不匹配 —— ESLint/Prettier 会静默失败,连错误都不抛。
- 如果
package.json有"type": "module",那.prettierrc必须是.prettierrc.cjs并用module.exports = {...},不能用export default -
.eslintrc.cjs也必须用module.exports,不能写import语法,哪怕你装了eslint-plugin-import - 检查方式:在终端运行
npx eslint --print-config index.js,如果报错或返回空对象,就是配置加载失败 - 最省事的解法:删掉
"type": "module",统一用 CommonJS 配置,除非你真需要顶层await或原生 ESM 导入


















