给 react 项目中加入 eslint + prettier

前言

react 项目开始时可能要配置不少东西,这里就直接配置一些常用的便捷类的配置吧,至少短期内应该是可以可以使用的,时间长了,还是要重新配置一下最好,不过使用也没问题,就是不是最新的了😂

配置 eslint 代码规范

js 复制代码
yarn add eslint --dev
npx eslint --init

会自动生成 .eslintrc.js 文件 我们可以不配置,也可以点进去配置一下 rules 等信息,默认长这样

js 复制代码
module.exports = {
    "env": {
        "browser": true,
        "es2021": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/recommended",
        "plugin:react/recommended"
    ],
    "overrides": [
        {
            "env": {
                "node": true
            },
            "files": [
                ".eslintrc.{js,cjs}"
            ],
            "parserOptions": {
                "sourceType": "script"
            }
        }
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "ecmaVersion": "latest",
        "sourceType": "module"
    },
    "plugins": [
        "@typescript-eslint",
        "react"
    ],
    "rules": {
    }
}

配置 prettier 代码格式化工具

js 复制代码
yarn add prettier --dev

项目主目录创建 .prettierrc 文件,加入下面几个

js 复制代码
{
    "trailingComma": "all",
    "tabWidth": 2,
    "semi": false, //;false舍弃
    "singleQuote": true //单引号
}

package.json 中的 scripts 加入下面就可以直接全局格式化了

js 复制代码
 "scripts": {
    ...
    "prettier": "prettier --write ."
  },

vscode + prettier

如果想充分利用 vscode 更便利使用,下载插件 pertter - coder formatter,如下所示

在项目根目录中加入下面文件 .vscode/settings.json(即创建一个 .vscode 文件夹,里面创建 settings.json 文件)

js 复制代码
{
    // eslint主要功能设定规范,捕获不规范的错误等 美化代码或者格式化代码功能交给prettier
    "eslint.format.enable": false,
    //打开保存格式化功能(保存代码的时候自动格式化)
    "editor.formatOnSave": true,
    //使用 prettier  作为默认格式化程序
    "editor.defaultFormatter": "esbenp.prettier-vscode"
}

如下所示

这样我们就可以在开发中,直接右键格式化代码,直接应用 prettier 格式化操作了

避免eslint与prettier冲突

为了避免 eslintprettier 冲突处理,需要加入 eslint-config-prettier(开发项目时不一定冲突,避免一些特殊的情况)

js 复制代码
yarn add eslint-config-prettier --dev

其他配置简单参考

如果顺道配置 less,则参考我之前的文章配置一下即可,less 配置 这篇文章,设置代理 这篇文章

测试参考案例

配置案例demo,typescript版,可供参考😂 githubgitee

js 复制代码
一般直接使用 create-react-app 命令,或者别人配置好的直接使用即可
//js版本
npx create-react-app 项目名字
yarn create react-app 项目名字
//ts版本
npx create-react-app 项目名字 --template typescript
yarn create react-app 项目名字 --template typescript
相关推荐
Rattenking26 分钟前
React 源码学习01 ---- React.Children.map 的实现与应用
javascript·学习·react.js
熊的猫1 小时前
JS 中的类型 & 类型判断 & 类型转换
前端·javascript·vue.js·chrome·react.js·前端框架·node.js
小牛itbull6 小时前
ReactPress:重塑内容管理的未来
react.js·github·reactpress
FinGet17 小时前
那总结下来,react就是落后了
前端·react.js
王解20 小时前
Jest项目实战(2): 项目开发与测试
前端·javascript·react.js·arcgis·typescript·单元测试
鸿蒙开天组●1 天前
鸿蒙进阶篇-网格布局 Grid/GridItem(二)
前端·华为·typescript·harmonyos·grid·mate70
zhizhiqiuya1 天前
第二章 TypeScript 函数详解
前端·javascript·typescript
AIoT科技物语2 天前
免费,基于React + ECharts 国产开源 IoT 物联网 Web 可视化数据大屏
前端·物联网·react.js·开源·echarts
初遇你时动了情2 天前
react 18 react-router-dom V6 路由传参的几种方式
react.js·typescript·react-router
番茄小酱0012 天前
ReactNative中实现图片保存到手机相册
react native·react.js·智能手机