Angular代理配置文件出现[1,1] InvalidSymbol解析错误问题求助
排查Angular代理配置JSON解析错误的方案
看起来你遇到的是Angular代理配置文件的JSON语法解析错误,错误提示里的[1,1] InvalidSymbol指向第一行第一个字符存在无效符号,这通常是JSON文件的编码问题或者符号使用错误导致的,下面是具体的排查和解决步骤:
检查并修复JSON文件的语法与符号
首先确保你的proxy-config.json文件内容完全符合JSON规范,尤其是要避免中文全角符号和多余语法:- 所有的大括号
{}、引号""、逗号,必须是英文半角符号,不要不小心用了中文的「{}」「“”」等; - 不要在最后一个键值对后面加尾随逗号(比如
"secure": false, }这种写法是不合法的)。
你可以直接复制下面的标准内容覆盖原文件:
{ "/api": { "target": "http://localhost:7201", "secure": false } }- 所有的大括号
修复UTF-8 BOM编码问题
错误提示里的[1,1]位置最常见的原因是文件使用了UTF-8带BOM编码,Angular的代理解析器无法识别文件开头的隐藏BOM字节,会把它当成无效符号。解决方法:- 用记事本打开
proxy-config.json; - 点击「文件」-「另存为」,在编码下拉框选择UTF-8(无BOM)(部分编辑器显示为「UTF-8」,不带「BOM」字样);
- 覆盖原文件保存。
- 用记事本打开
确认angular.json中的路径配置
检查angular.json里的proxyConfig路径是否正确,你的配置"proxyConfig": "src/proxy-config.json"看起来是正确的,但要确保:- 路径拼写没有错误(比如不要写成
proxyconfig.json或者src/proxy_config.json); - 文件确实位于项目根目录下的
src文件夹中。
- 路径拼写没有错误(比如不要写成
清理Angular缓存后重新启动
有时候旧的缓存会导致错误残留,执行以下命令清理缓存后再启动服务:ng clean ng serve
如果以上步骤都试过还是有问题,可以用JSON校验工具(本地或离线的)检查你的proxy-config.json内容,确认没有语法错误。
内容的提问来源于stack exchange,提问作者Mahmoud Nasser
相关产品推荐
相关产品推荐

