引入eslint

 


1、引入流程

  1. 先全局安装eslint,注意版本问题,node >= 12.22.0
  2. 然后npm init 项目
  3. eslint --init
    1.   

如果只扫描html、js文件,不包括 vue 文件,如下

扫描 html 文件需要安装 eslint-plugin-html,如下:

 

node 和 eslint 版本如下:

 

配置文件内容如下:

复制代码
  1. // .eslintrc.js文件内容
  2. module.exports = {
  3. "env": {
  4. "browser": true,
  5. "es2021": true
  6. },
  7. "extends": "eslint:recommended",
  8. "parserOptions": {
  9. "ecmaVersion": "latest",
  10. "sourceType": "module"
  11. },
  12. // "parser": "@babel/eslint-parser",
  13. "plugins": [
  14. "html"
  15. ],
  16. "rules": {
  17. "no-console": 2
  18. }
  19. }
复制代码

 

此时如果只是上面的配置,可以扫描 html、js 等文件。但是扫描vue文件会直接报错,如下:

 

此时需要安装 vue-eslint-parser,如下:

 

添加配置 "parser": "vue-eslint-parser",.eslintrc.js 文件的最终内容如下:

复制代码
  1. // .eslintrc.js 文件内容
  2. module.exports = {
  3. "env": {
  4. "browser": true,
  5. "es2021": true
  6. },
  7. "extends": "eslint:recommended",
  8. "parserOptions": {
  9. "ecmaVersion": "latest",
  10. "sourceType": "module"
  11. },
  12. "parser": "vue-eslint-parser",
  13. "plugins": [
  14. "html"
  15. ],
  16. "rules": {
  17. "no-console": 2
  18. }
  19. }
复制代码

此时扫描 html 和 vue 文件都能出正确结果。

可参考:https://segmentfault.com/q/1010000018023148

 

可以往 package.json 文件添加以下命令让扫描更加方便,如下:

  1. "scripts": {
    "lint": "eslint --ext .js --ext .html --ext .jsx --ext .vue ./"
  2. }

直接执行 npm run lint 即可出扫描结果。

 

1.1、vscode插件

vscode 的 eslint 插件只是一个辅助作用,让开发者在使用 vscode 时能立即查看到 eslint 扫描出的问题,不使用 eslint 插件也能通过 eslint 依赖包来扫描出代码问题。安装了 eslint 插件,但是没有配置 .eslintrc.js 文件的话,eslint 插件也不会起作用。

配置vscode插件ESlint是对开发者在编辑修改代码时就能根据校验规则进行提前规范化。

 

有时候加上规则,或者新引入 .eslintrc.js文件,如果不生效的话,重启一下 vscode。

 

2、vue规则

要想支持 vue规则,比如:

  1. 'vue/no-async-in-computed-properties': 2 //计算属性应该是同步的

此时,首先应该在 .eslintrc.js 中添加以下配置:

  1. extends: [
  2. 'plugin:vue/base'
  3. ]

然后安装 eslint-plugin-vue 依赖,如下:

  1. npm i eslint-plugin-vue@latest --save-dev

 

posted @   wenxuehai  阅读(639)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
//右下角添加目录
点击右上角即可分享
微信分享提示