ESLint ignorePatterns配置不生效,扫描node_modules提示忽略报错如何解决
问题根因
你配置的忽略规则本身是有效的,报错是因为shell执行命令前会提前展开**/*.js通配符,把node_modules目录下的js文件路径也作为显式参数传给ESLint。ESLint会校验主动传入的文件路径,发现这些文件属于被忽略的范围,就会抛出对应提示。
解决方案
你可以任选以下一种方案修改package.json中的lint命令:
- 方案1:把通配符用引号包裹,禁止shell提前展开,交由ESLint本身处理路径匹配,此时你配置的忽略规则会自动生效
非Windows环境:
Windows环境:"lint": "eslint '**/*.js'""lint": "eslint \"**/*.js\"" - 方案2:直接指定要校验的目录,从源头排除node_modules,兼容性最好
按照你的项目结构,只需要校验app目录下所有js文件,命令可以写为:"lint": "eslint app/**/*.js" - 方案3:在命令中显式添加忽略规则
"lint": "eslint **/*.js --ignore-pattern node_modules"
内容的提问来源于stack exchange,提问作者Chicky
相关产品推荐
相关产品推荐

