ESlint修改配置后未生效原因之——缓存

1,239 阅读1分钟

一个小问题记录:

由于项目中存在定义了变量但是未使用的情况,控制台中会有针对性的警告,如图:

./src/pages/reviewer/list/ReviewerCreateModal.jsx
/Users/xxx/frontend/src/pages/reviewer/list/ReviewerCreateModal.jsx
  16:3  warning  'someVars' is defined but never used    no-unused-vars

✖ 1 problem (0 errors, 1 warning)

这是 ESlint 的警告提醒,关闭方法很简单,给 ESlint 的加上如下配置即可:

"eslintConfig": {
    "rules": {
      "no-unused-vars": "off",
      // ...
    }
}

但是重启项目之后,相面的警告提醒依然存在,仿佛配置未生效😭。

经过检查发现,在项目的 node_modules/.cache 目录下,有 ESlint 的缓存目录,应该是为了提升 lint 速度使用的:

image.png

可以想到,针对每个项目文件,ESlint 都会将其校验结果缓存到此目录下。等到用户修改文件并保存触发 ESlint 的重新校验时,会先检查文件是否修改,若未修改,则将缓存的校验结果返回,这样可以大大加快 ESlint 的速度。

所以,当我们修改校验规则配置后,若想 ESlint 重新检查每一个文件,需要清除掉该缓存目录。右键-删除,重启项目发现,相关的警告果然没有了😈。