Chrome扩展上传报manifest.json:23:16 duplicate key中23:16含义是什么
Chrome扩展上传报错
manifest.json:23:16: duplicate key字段含义说明 你最初的猜测逻辑本身是正确的,报错里的两个数字默认指代解析后的manifest.json文件的第23行、第16个字符位置,你核对本地文件对应位置不匹配,是Chrome本地开发和线上校验的逻辑差异导致的,核心原因如下:
- Chrome本地开发者模式对manifest.json的容错性很高,允许添加
//、/* */格式的注释、多余空行、可选的BOM头,这些内容在本地运行时不会被计入行号统计,甚至不会被拦截 - 但上传到Chrome开发者控制台时,系统会先对manifest.json做严格的JSON规范校验:首先会剔除所有注释、空行、BOM头之后再解析内容,统计行号列号,这就会导致解析后的文件行号和你本地编辑的原始文件行号不一致
duplicate key错误的本质是你的manifest.json中存在两个完全相同的顶级/嵌套键名,哪怕两个重复键之间隔了大量注释、空行,线上校验时都会被识别为重复配置
快速排查方法
- 把你打包进zip包的那份manifest.json单独提取出来,手动删除所有注释内容、多余空行
- 核对处理后的文件第23行,第16个字符附近的键名,就能找到重复声明的配置项
- 也可以用标准JSON校验工具直接解析该文件,工具会直接定位重复键的具体位置
内容的提问来源于stack exchange,提问作者Jago
相关产品推荐
相关产品推荐

