VScode代码格式化后ESLint报错 您所在的位置:网站首页 vue在vscode引入报错可以页面不会报错 VScode代码格式化后ESLint报错

VScode代码格式化后ESLint报错

2023-12-12 05:56| 来源: 网络整理| 查看: 265

当我们在vscode中手动格式化代码时,有时会出现ESLint报错的情况

不废话先解决问题

先说解决问题的方法,按照我的方法成功解决了问题,那么你可以继续往下看一下思路。

在settings.json中修改或添加如下代码(已经有的配置项修改,没有的添加)

"eslint.autoFixOnSave": true, // 文件保存的时候自动按照ESLint格式化 "eslint.validate": [     // 开启对.vue文件中错误的检查     "javascript",     "javascriptreact",     {       "language": "html",       "autoFix": true     },     {       "language": "vue",       "autoFix": true     } ] 1.安装两款必备的插件

ESLint: 在vue项目中我们通常安装ESLint进行代码格式的校验。vscode的ESLint插件,可以是被vue项目中的ESLint设置,并可以在编辑器中动态的校验代码格式并报错

Vetur:vue项目的必备插件,代码高亮,代码格式化等功能是这个插件提供的。我们在vscode中手动格式化代码,就是用的这个插件中设置的代码规则,这就是为什么VScode代码格式化后不符合ESLint 的原因——因为手动格式化使用的是Vetur中的代码风格,而ESLint使用的是自己的代码风格校验,二者会有不同,因此会有报错。

2. 配置ESLint 和 Vetur

除去文章开头的解决问题的配置,其余配置都是个性化配置,每个人根据喜好和需要个性化配置,我只说明在什么地方配置什么

配置ESLint

'ESLint'有两个含义:1. vscode的ESLint插件 2. Vue项目中的ESLint,所以配置ESLint就有两个位置。

Vue项目中的ESLint:在项目根目录的 '.eslintrc.js'

配置详见:eslint.bootcss.com/docs/4.0.0/… 因为我想让每行代码都有分号(虽然js不强制规定),所以我在rules中添加

'semi': ["error", "always"] // 分号结尾 vscode的ESLint插件(回到开始的问题解决方法)

在settings.json中修改或添加如下代码(已经有的配置项修改,没有的添加)

"eslint.autoFixOnSave": true, // 文件保存的时候自动按照ESLint格式化 "eslint.validate": [     // 开启对.vue文件中错误的检查     "javascript",     "javascriptreact",     {       "language": "html",       "autoFix": true     },     {       "language": "vue",       "autoFix": true     } ] 配置Vetur

还是上面的settings.json文件 添加代码: "singleQuote": true : 很多人发现在vscode中格式化会把单引号自动转换为双引号,这句话就是为了让单引号得以保留。而且ESLint的默认也是最外层引号为单引号。 "semi": true : 句末添加分号,和ESLint配置一致。

"vetur.format.defaultFormatterOptions": { "prettier": { "singleQuote": true, // 单引号 "semi": true, // 添加句末分号 } }, 3.写在最后 我们配置好"eslint.validate" 让ESLint检查vue文件,并"eslint.autoFixOnSave": true 打开这个选项,文件在保存的时候就按照ESLint的语法进行格式化,其实我们己经没必要在手动格式化了。 但是有的人习惯手动格式化,手动格式化使用的是Vetur的代码风格设置,为了让格式化后的代码符合ESLint的校验,我们需要更改Vetur的配置让它和ESLint格式一致。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有