.eslintrc.json报Parsing error: Unexpected token :,请求排查错误原因
解决husky pre-commit钩子中eslint执行失败的问题
一、解析错误:Parsing error: Unexpected token :
你贴出的.eslintrc.json代码语法本身是合法的,但报错指向第3行第10位的冒号,大概率是实际文件存在以下问题:
- 全角符号/特殊字符:检查第3行的冒号、引号是否为英文半角符号,可能误输入了中文符号或不可见的特殊字符
- JSON语法疏漏:比如某处多了逗号、引号未闭合,建议把当前.eslintrc.json内容复制到在线JSON校验工具中排查语法问题
- 文件编码异常:确保文件是UTF-8编码,避免编码问题导致的解析失败
如果确认代码逻辑没问题,也可以尝试删除当前.eslintrc.json,重新复制你提供的配置内容新建文件,规避隐藏的格式问题。
二、React版本未指定的警告
在.eslintrc.json中添加settings字段,让eslint自动检测React版本或手动指定:
{ "env": { "browser": true, "es2021": true }, "extends": ["eslint:recommended", "plugin:react/recommended"], "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, "plugins": ["react"], "settings": { "react": { "version": "detect" // 自动检测项目中的React版本 } }, "rules": { "indent": ["error", "tab"], "linebreak-style": ["error", "windows"], "quotes": ["error", "single"], "semi": ["error", "always"] } }
额外排查步骤
- 先手动执行
eslint . --fix命令,复现错误确认是配置文件问题,而非husky或lint-staged的配置问题 - 检查lint-staged配置(通常在package.json或.lintstagedrc中),确保任务范围合理,比如是否只需校验js/jsx文件:
// package.json中的lint-staged示例 "lint-staged": { "**/*.{js,jsx}": ["eslint --fix"] }
内容的提问来源于stack exchange,提问作者Sara Kay
相关产品推荐
相关产品推荐

