给 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
相关推荐
早點睡3902 小时前
高级进阶 React Native 鸿蒙跨平台开发:@react-native-community-slider 滑块组件
react native·react.js·harmonyos
鹏多多5 小时前
移动端H5项目,还需要react-fastclick解决300ms点击延迟吗?
前端·javascript·react.js
空白诗6 小时前
React Native 鸿蒙跨平台开发:react-native-svg 矢量图形 - 自定义图标与动画
react native·react.js·harmonyos
liyang_ii6 小时前
createAsyncThunk
react.js
Jing_Rainbow6 小时前
【React-6/Lesson89(2025-12-27)】React Context 详解:跨层级组件通信的最佳实践📚
前端·react.js·前端框架
Dragon Wu7 小时前
Electron Forge集成React Typescript完整步骤
前端·javascript·react.js·typescript·electron·reactjs
一心赚狗粮的宇叔7 小时前
03.Node.js依赖包补充说明及React&Node.Js项目
前端·react.js·node.js
空白诗7 小时前
高级进阶 React Native 鸿蒙跨平台开发:slider 滑块组件 - 进度条与评分系统
javascript·react native·react.js
空白诗7 小时前
高级进阶React Native 鸿蒙跨平台开发:slider 滑块组件 - 音量调节器完整实现
react native·react.js·harmonyos
早點睡3908 小时前
高级进阶 React Native 鸿蒙跨平台开发:react-native-device-info 设备信息获取
react native·react.js·harmonyos