You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Node.js REPL中运行命令时为何出现'Uncaught SyntaxError'错误?

问题描述

执行node game.js时抛出如下错误:

> node game.js
node game.js
     ^^^^

Uncaught SyntaxError: Unexpected identifier
>

已确认信息:

  • 处于目标文件所在目录,此前该文件可正常运行
  • 代码通过ESLint、Esprima在线验证,无语法错误
  • 代码在Windows 10 Chrome浏览器的Live Server中可正常运行
  • 已尝试PowerShell、CMD两种终端,问题一致
  • 已卸载重装Node.js LTS v18.16.0,问题仍存在
可能的解决方案

1. 退出Node交互环境再执行命令

从错误提示判断,你大概率是在Node.js的REPL交互环境中输入了终端命令——REPL仅用于执行JS代码片段,无法识别终端指令。

  • 按Ctrl+C两次退出Node REPL,回到正常的PowerShell/CMD终端
  • 确认提示符为PS C:\你的文件目录>(PowerShell)或C:\你的文件目录>(CMD),而非>(Node REPL)
  • 重新执行node game.js

2. 确认文件扩展名未被隐藏

Windows默认会隐藏已知文件扩展名,可能导致实际文件名为game.js.txt,但显示为game.js,Node读取文本文件时会解析出错。

  • 打开文件资源管理器,点击「查看」选项卡,勾选「文件扩展名」
  • 确认文件名确实是game.js,若为game.js.txt,重命名去掉.txt后缀

3. 修正文件编码

若文件编码非UTF-8(带BOM或其他编码),Node可能解析异常。

  • 用VS Code打开game.js,点击右下角编码标识(如「UTF-8」),选择「通过编码保存」,再选「UTF-8」
  • 重新执行node game.js

4. 检查Node环境变量配置

重装Node后环境变量可能未正确配置,导致调用的不是目标版本。

  • CMD终端执行where node,PowerShell执行Get-Command node,查看Node路径是否为你安装的LTS v18.16.0目录(如C:\Program Files\nodejs\)
  • 若路径错误,修改系统环境变量,将正确的Node安装目录移到PATH最上方
  • 重启终端后重新执行命令

内容的提问来源于stack exchange,提问作者Junbol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 22:44:57