React入门② -- 扩展 - 配置Eslint

前言

一千个人写代码有一千种风格,每次合并同事的代码,拉出来一跑直接崩溃,所以我们最好统一一下代码风格,配置一下 eslint

步骤

  1. npm i eslint typescript -D

  2. 在项目根目录,运行 npx eslint --init

    1. 按交互提示安装相关插件
    2. 它会自动生成eslint的配置文件

 

       3. 设置vscode的自动保存格式化

  • 把eslint 安装包启用

 

 代码

在项目根目录下,补充配置文件:.vscode\settings.json

 

 按图示打开,将下面的代码粘贴进去,可以直接生成 .vscode\settings.json

{
  "eslint.run": "onType",
  "eslint.options": {
    "extensions": [".js", ".vue", ".jsx", ".tsx"]
  },
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}

 环境配置-引入prettier-now

eslint并不能深入到jsx代码中来格式化,所以需要额外的工具。

prettier-now

prettier项目的分支,具备和 prettier 一样的功能,不过,它允许使用更多的配置项。在vscode的插件库中,同时有 prettier-now 和 prettier,在安装时,请不要安装错了。

步骤

  1. 安装vscode插件prettier-now
  2. 将格式化插件改成prettier-now,补充配置

代码

.vscode\settings.json

{
    "eslint.run": "onType",
    "eslint.options": {
      "extensions": [".js", ".vue", ".jsx", ".tsx"]
    },
    "editor.codeActionsOnSave": {
      "source.fixAll.eslint": true
    },
  
    // 编辑器设置 - 保存时做格式化
    "editor.formatOnSave": true,
    // 编辑器设置 - 默认采用prettier-now做格式化
    // 如果使用的是prettier,这的设置应该是 esbenp.prettier-vscode
    "editor.defaultFormatter":"remimarsal.prettier-now",
  
    // 控制缩进
    "prettier.useTabs": false, // 缩进不使用tab,使用空格 
    "prettier.tabWidth": 2, // 缩进字节数
    
    // 函数声明时小括号前后要加空格
    // 如果你使用prettier这一项是不能做选择的,导致和eslint默认配置的冲突
    // 可以在百度中搜到很多的记录: https://www.baidu.com/s?wd=prettier%20%E5%87%BD%E6%95%B0%E7%A9%BA%E6%A0%BC
    "prettier.spaceBeforeFunctionParen": true,
  
    // react的jsx让>与结束标签同行
    "prettier.jsxBracketSameLine": true,
    "prettier.bracketSpacing": false, //数组两端加空格 这个与eslint有冲突  所以关掉
  
    "prettier.semi": false, // 不要给语句加;
    "prettier.singleQuote": true, // 采用单引号
    "prettier.trailingComma": "none", // 不要尾随逗号,
    "prettier.printWidth": 80, // 每行超过80列就换行
  
    // 在.js中,写div按下tab就可以自动补全,而不需要写<div>再补全
    "emmet.includeLanguages": {
      "javascript": "javascriptreact"
    },
  }

react 17之后,页面上使用jsx时,可以省略import React

在16的版本中,页面上使用jsx,必须import react

 可以在 .eslintrc.js 里面添加配置

rules: {
     'no-unused-vars': 'warn',
    'no-use-before-define': 'off',
    'react/react-in-jsx-scope': 'off'
  }

切记,完成以上步骤之后一定要关闭vscode,再重新打开

后续持续更新 ······


版权声明:本文为zj695133626原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。