这是我的配置
包.json
{
"name": "hello-world",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-scripts": "3.0.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.js": [
"eslint --fix",
"git add"
],
"*.{js, jsx, json, html, css}": [
"prettier --write",
"git add"
]
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"eslint": "^5.16.0",
"eslint-config-prettier": "^6.0.0",
"eslint-plugin-prettier": "^3.1.0",
"husky": "^3.0.0",
"lint-staged": "^9.2.0",
"prettier": "^1.18.2"
}
}
现在,如果我只是在像这样的项目上运行它./node_modules/.bin/eslint .
,它就会像往常一样工作。显示需要在文件中进行的更改,但不能用作预提交挂钩,但 prettier 正在工作。我仍然看到 eslint 在每次从命令行提交之前运行,但我没有看到任何输出。可能是什么问题?
- 将行更改为
eslint * --fix
, 显示了要在所有文件中进行的修复,甚至是.css和.md文件。 - 让它
eslint *.js --fix
告诉我,没有找到与该模式匹配的文件。 - 甚至
eslint . --fix
不起作用。
如果需要该信息,我的文件夹结构是一种简单的 create-react-app 格式。完整的回购在这里
我也会在下面发布 eslintrc 和 prettierrc 文件,
.prettierrc
{
"singleQuote": false
}
.eslintrc
{
"extends": ["react-app", "prettier"],
"plugins": ["prettier"],
"rules": {
"prettier/prettier": "error"
}
}
说明:
1)我不得不使用更长格式版本的更漂亮的配置,而不是plugin:prettier/recommended
因为我在尝试使用单独的 prettierrc 配置文件而不是将其内联在 package.json 时遇到了这个错误
2) 我不得不使用较低版本的 eslint,因为较新的版本会从普通的 create-react-app 中抛出随机错误,因此必须按照此处讨论的方式对其进行降级。