WSL2环境下新建React项目npm启动正常但浏览器控制台报错如何解决?
问题原因
所有报错均来自你Chrome浏览器中安装的自定义光标类扩展(扩展ID:bmjmipppabdlpjccanalncobmbacckjn),和你创建的React项目、WSL2运行环境没有任何关联,新建的空项目本身不存在问题。
具体报错逻辑:
- 扩展从Chrome本地存储读取
cs_template字段时,该字段为空/不存在,返回值为undefined,执行JSON.parse(undefined)时触发Unexpected token u in JSON at position 0语法错误 - 扩展之前写入localStorage的
storage_data值同样为空,取值后执行JSON解析触发第二个同类语法错误 - 前两步的解析失败导致定义
showCsCursorNonHD方法的代码未执行,后续调用该方法时直接抛出未定义错误
修复方案
- 验证问题:打开Chrome隐身模式访问
http://localhost:3000,或者在扩展管理页面禁用ID为bmjmipppabdlpjccanalncobmbacckjn的扩展,刷新页面后报错会直接消失。 - 普通用户修复:直接卸载该故障扩展,更换其他同类光标扩展使用;如果不想卸载,可尝试在扩展详情页点击重置/修复,或者卸载后重新安装该扩展即可解决。
- 扩展开发者修复:如果该扩展为你自行开发,在JSON解析前添加空值判断和异常捕获即可:
// cs_template读取逻辑修改 chrome.storage.local.get('cs_template', function (data) { if (!data?.cs_template) return try { data = JSON.parse(data.cs_template) } catch (e) { return } js = document.createElement('script'); js.id = 'cs_cursor_template'; js.innerHTML = data.template; document.head.appendChild(js); }); // localStorage读取逻辑修改 var storage_data = {} try { const rawStorage = localStorage.getItem('storage_data') if (rawStorage) storage_data = JSON.parse(rawStorage) } catch (e) { localStorage.removeItem('storage_data') }
内容的提问来源于stack exchange,提问作者coñodelamadre
相关产品推荐
相关产品推荐

