前言

为什么要用代码检查工具,因为当你代码中有些地方格式写错但是不提示,而且代码篇幅很长的时候,找起来就很头疼。

公司项目标准化工具一直用的是eslint,主要用于规范我们的代码,提高代码的可读性。

除了eslint,其实还有个prettier,二者的区别是eslint只能作用于js文件代码,而prettier所以代码都支持规范,但是两个插件之间是有冲突的,需要单独处理。考虑公司一直以来都用的是eslint,所以打算只安装eslint。

vue3在创建项目的时候会提示你是否要安装eslint,我当时选择没有安装。如果为了简便在创建项目的时候可以选择安装上

安装eslint

1.安装插件

我将安装8.56.0版本的

npm i eslint@8.56.0 --legacy-peer-deps

有人注意到我在安装的时候加了--legacy-peer-deps 为什么呢,因为安装的时候可能会报错,这是因为我的npm版本是7以上的版本了,和npm6.x 不一样 对命令的要求更加严格一些

然后安装几个eslint依赖包(这都是公司项目里有的,有一些我也不太明白具体作用是什么,所以先全部安装上,但是由于我nodejs版本为18较高,这些插件就不能用原来的版本)

"@vue/cli-plugin-eslint": "^4.5.0",  // 5.0.8
"@vue/eslint-config-standard": "^5.1.2", // 8.0.1
"babel-eslint": "^10.1.0",
"eslint-plugin-import": "^2.20.2", // 2.29.1
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1", // 6.1.1
"eslint-plugin-standard": "^4.0.0",
"eslint-plugin-vue": "^6.2.2", // 9.25.0

2.配置文件

package.json文件配置

在package.json文件中添加代码

"eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "@vue/standard"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    },
    "rules": {}
  },

新建.eslintrc.js

在项目目录底下新建.eslintrc.js文件,内容如下,这个内容好像和package.js里的内容大差不差,我认为公司这么做一定有他的理由,所以我两个都保留下来了。

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: [
    'plugin:vue/essential',
    '@vue/standard'
  ],
  parserOptions: {
    parser: 'babel-eslint'
  },
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'space-before-function-paren': 0
  }
}

使用说明

eslint规则官网上都有,网址为https://eslint.org/docs/latest/use/configure/,不过是英文版的

中文翻译的可以参考 eslint规则 和 eslint规则这两个博主的,都是比较全的。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐