之前写了一篇基于Prettier ESLint插件,有时Prettier ESLint插件不好用,出现无反应现象,于是有了这一篇基于 Prettier的配置。
遇到prettier和ESlint格式冲突问题-Missing space before function parentheses
配置解决方法如下:
1.安装Prettier插件
设置为默认格式化插件。如果开启保存自动格式化,更方便一点。
2.setting.json中配置规则。
将如下规则配置放到setting.json中
// prettier配置
// 一行最多 200 字符
"prettier.printWidth": 200,
// 使用 2 个空格缩进
"prettier.tabWidth": 2,
// 不使用缩进符,而使用空格
"prettier.useTabs": false,
// 行尾不需要分号
"prettier.semi": false,
// 使用单引号
"prettier.singleQuote": true,
// 对象的 key 仅在必要时用引号
"prettier.quoteProps": "as-needed",
// jsx 不使用单引号,而使用双引号
"prettier.jsxSingleQuote": false,
// 末尾不需要逗号
"prettier.trailingComma": "none",
// 大括号内的首尾需要空格
"prettier.bracketSpacing": true,
// jsx 标签的反尖括号不需要换行
"prettier.jsxBracketSameLine": true,
// 箭头函数,只有一个参数的时候,也需要括号
"prettier.arrowParens": "always",
// 每个文件格式化的范围是文件的全部内容
"prettier.rangeStart": 0,
"prettier.rangeEnd": "Infinity",
// 不需要写文件开头的 @prettier
"prettier.requirePragma": false,
// 不需要自动在文件开头插入 @prettier
"prettier.insertPragma": false,
// 使用默认的折行标准
"prettier.proseWrap": "preserve",
// 根据显示样式决定 html 要不要折行
"prettier.htmlWhitespaceSensitivity": "css",
"prettier.endOfLine": "lf"
不过漏掉了一条函数和括号之间加空格,也就是Missing space before function parentheses的报错产生的原因,个人感觉这一条检测规则不合理,需要下一步设置。
3.在.eslintrc.js中设置 “space-before-function-paren”: 0,见下图。再次运行yarn serve正常了。
4.还有一种方法不需要配置,在项目根目录下,cmd窗口中运行 npm run lint,自动对所有代码格式检查矫正,也能解决。