1

我正在创建一个新的 Vue 项目npm init vue@latest并选择所有内容(Eslint with Prettier)

我正在使用以下设置

  • 操作系统:Win11
  • 节点:v17.4
  • npm:v8.4

我设置了 lint-staged via npx mrm@2 lint-staged。出于测试目的,我在src目录中添加了一个新文件

// calc.js

function 
add
(numOne, 
  numTwo) {
  return numOne + 
  
              numTwo;
}

提交新文件时,linter 按预期修复代码样式。但之后我必须手动删除生成的.eslintcache文件。

较早的帖子说我应该添加

*.eslintcache

.gitignore文件。但是我将生成的.gitignore文件与从 Vue CLI 生成的文件进行了比较,两者都没有这一行。使用 Vue CLI 时,缓存文件不会出现。

那么还有其他解决方案还是我错过了什么?

4

1 回答 1

2

.eslintcache文件是从 ESLint 的--cache标志创建的,该标志包含在以下默认 linter 命令中lint-staged

// package.json
{
  "lint-staged": {                        
    "*.{vue,js,jsx,cjs,mjs}": "eslint --cache --fix",
    "*.{js,css,md}": "prettier --write"
  }
}

您可以删除该--cache标志:

// package.json
{
  "lint-staged": {
    "*.{vue,js,jsx,cjs,mjs}": "eslint --fix",
    "*.{js,css,md}": "prettier --write"
  }
}

...或使用--cache-location标志设置缓存文件位置(例如,指定node_modules/.cache):

// package.json
{
  "lint-staged": {                                          
    "*.{vue,js,jsx,cjs,mjs}": "eslint --cache --fix --cache-location ./node_modules/.cache/.eslintcache",
    "*.{js,css,md}": "prettier --write"
  }
}
于 2022-02-16T17:58:10.617 回答