vs code 运行 js 需系统已装 node,终端执行 node -v 验证;内置终端运行 node 文件、code runner 扩展一键执行、package.json + npm run 更可控,debugger 调试需正确配置 launch.json 和 sourcemaps。

在 VS Code 里直接运行 node 命令行执行 JS 文件
VS Code 本身不带 JS 运行环境,得靠系统已安装的 node。先确认终端里输入 node -v 能正常返回版本号,否则所有后续操作都会卡在“找不到命令”。
常见错误现象:command not found: node(Mac/Linux)或 'node' is not recognized(Windows),本质是 PATH 没配好,不是 VS Code 的问题。
- 打开 VS Code 内置终端(
Ctrl+`或Cmd+`),别用外部 Terminal 窗口——它可能没继承你的 shell 环境变量 - 确保你在 JS 文件所在目录下,运行
node index.js(把index.js换成你的真实文件名) - 如果文件路径含中文或空格,建议改用相对路径或把项目移到纯英文路径下,避免某些 Shell 解析异常
用 VS Code 的 Code Runner 扩展一键运行
这个扩展能省掉每次敲 node,但它默认用的是“当前工作目录”,不是“文件所在目录”,容易读错 require() 或 fs.readFile() 的相对路径。
使用场景:快速验证小脚本、学习阶段写 demo;不适合有复杂模块依赖或读取本地文件的项目。
- 装好
Code Runner后,默认快捷键Ctrl+Alt+N(Win/Linux)或Cmd+Option+N(Mac) - 它实际执行的是类似
node /full/path/to/your/file.js,所以__dirname是准确的,但process.cwd()仍是打开 VS Code 时的目录 - 想让它按文件所在目录运行?改设置:
code-runner.terminalRoot设为true,再重启终端
package.json + npm run 是更可控的方式
适合稍正式的项目,尤其当你需要传参数、设环境变量,或者多个文件要按顺序跑的时候。它强制你声明“怎么跑”,而不是靠编辑器猜。
性能影响几乎为零,但兼容性高——任何装了 Node 的机器都能照着 package.json 复现运行逻辑。
- 在项目根目录运行
npm init -y生成基础package.json - 改
"scripts"字段,比如加一行"dev": "node src/app.js" - 然后在终端里运行
npm run dev,路径、参数、环境变量都清晰可查 - 注意:如果脚本里用了 ES Module 语法(
import),得在package.json加"type": "module",否则报Cannot use import statement outside a module
调试比运行更重要:用 VS Code 自带的 Debugger 启动
光看 console.log 输出不够,断点、变量监视、调用栈才是定位问题的核心。VS Code 的调试器和 node 集成度很高,但配置容易漏关键项。
容易踩的坑:点了绿色三角却没反应,或者断点灰了——大概率是没生成正确的 .vscode/launch.json,或没启用 source map。
- 打开 JS 文件,按
Ctrl+Shift+D进调试面板,点齿轮图标生成launch.json - 选
Node.js (Preview)模板,确保"program"字段指向你的入口文件,比如"${workspaceFolder}/index.js" - 如果代码经过打包(如 Webpack、TS 编译),必须配
"sourceMaps": true并确认 map 文件存在 - 启动后,在代码行号左侧点一下就能打断点,灰色说明没命中,检查路径、文件是否被 watch 忽略、或 node 版本太低不支持 ESM 调试










