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

React应用启动报错求助:Uncaught SyntaxError及模块解析失败

React应用构建两类错误的解决方法

一、模块解析错误:无法解析'./App'和'./reportWebVitals'

报错原因

你在package.json中添加了"type": "module",启用了严格ES模块模式,这种模式下必须显式指定文件扩展名,不能省略.js。

解决方法

打开src/index.js,修改导入语句,补上文件扩展名:

// 修改前
import App from './App';
import reportWebVitals from './reportWebVitals';

// 修改后
import App from './App.js';
import reportWebVitals from './reportWebVitals.js';

二、Uncaught SyntaxError: Unexpected token '<'

报错原因

这个错误通常是Node尝试解析HTML文件作为JS模块导致的,结合你的操作,大概率是手动添加的"type": "module"与Create React App(CRA)的默认配置冲突,或者文件扩展名修改后导入路径未同步。

解决方法

方案1:移除package.json中的"type": "module"(推荐)

CRA本身已经配置好了模块解析规则,不需要手动开启严格ES模块模式。直接删除package.json里的"type": "module",同时把app.mjs改回app.js,这样既不用加扩展名,也能避免配置冲突。

方案2:同步扩展名(如果坚持用.mjs)

如果一定要保留"type": "module"和.mjs后缀,确保index.js的导入路径同步更新:

import App from './App.mjs';

同时确认开发服务器能正确识别.mjs文件。

方案3:检查请求返回内容

如果以上操作无效,打开浏览器开发者工具的Network面板,查看请求的JS文件返回的是不是HTML(比如404页面)。如果是,检查文件路径是否正确,或者开发服务器是否启动在正确的前端目录下。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 06:06:02