给 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
相关推荐
●VON1 小时前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
We་ct1 小时前
LeetCode 36. 有效的数独:Set实现哈希表最优解
前端·算法·leetcode·typescript·散列表
qq_177767371 小时前
React Native鸿蒙跨平台实现消息列表用于存储所有消息数据,筛选状态用于控制消息筛选结果
javascript·react native·react.js·ecmascript·harmonyos
摘星编程2 小时前
React Native + OpenHarmony:自定义useEllipsis省略号处理
javascript·react native·react.js
2601_949593653 小时前
基础入门 React Native 鸿蒙跨平台开发:Animated 动画按钮组件 鸿蒙实战
react native·react.js·harmonyos
●VON4 小时前
React Native for OpenHarmony:ScrollView 事件流、布局行为与性能优化深度剖析
学习·react native·react.js·性能优化·openharmony
2601_949593654 小时前
高级进阶 React Native 鸿蒙跨平台开发:LinearGradient 玻璃拟态卡片
react native·react.js·harmonyos
摘星编程5 小时前
在OpenHarmony上用React Native:TopTab顶部标签页
react native·react.js·harmonyos
Swift社区5 小时前
Nginx 反向代理配置 React 前端与 Python 后端
前端·nginx·react.js
摘星编程5 小时前
用React Native开发OpenHarmony应用:NativeStack原生导航
javascript·react native·react.js