react+eslint+prettier 项目配置
项目地址
https://gitee.com/zhudachangs/react-eslint-prettierrc-demo
项目配置eslint(验证) + prettierrc(配合vscode自动格式话代码)
一、创建一个项目
# 安装 react 脚手架
npm install -g create-react-app
# 使用脚手架创建项目 (,有可能失败)
create-react-app eslint-demo1
二、配置 Eslint(校验)
安装 React插件
# ESLint允许使用自定义语法分析程序
yarn add @babel/eslint-parser -D
# 检验jsx语法
yarn add eslint-plugin-jsx-a11y -D
# 设定react组件的相关规范
yarn add eslint-plugin-react -D
# prettier专门做代码格式化的事情
yarn add eslint-config-prettier -D
yarn add eslint-plugin-prettier -D
配置.eslintrc
{
"parser": "@babel/eslint-parser",
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:prettier/recommended"
],
"plugins": [
"react",
"prettier"
],
"rules": {
"prettier/prettier": 0, // 关闭Vscode的prettier验证(防止vscode的prettier冲突!!!!!!)
"semi": 0, // 行末分号,根据编码习惯选择添加,这里配置的不加分号
"no-console": 0,
"comma-dangle": [
"error",
"never"
], // {}末尾逗号关闭
"max-len": 0,
"space-before-function-paren": [
0,
"always"
],
"no-unused-expressions": [
0,
{
"allowShortCircuit": true,
"allowTernary": true
}
],
"arrow-body-style": [
0,
"never"
],
"func-names": 0,
"prefer-const": 0,
"no-extend-native": 0,
"no-param-reassign": 0,
"no-restricted-syntax": 0,
"no-eval": 0,
"no-continue": 0,
"no-unused-vars": [
0,
{
"ignoreRestSiblings": true
}
],
"no-underscore-dangle": 0,
"global-require": 0,
"import/no-extraneous-dependencies": 0,
"import/prefer-default-export": 0,
"import/no-unresolved": 0,
"import/extensions": 0,
// react
"react/jsx-first-prop-new-line": 0,
"react/jsx-filename-extension": 0,
"react/jsx-no-bind": 0,
"react/no-array-index-key": 0,
"react/require-default-props": 0,
"react/forbid-prop-types": 0,
"react/no-string-refs": 0,
"react/no-find-dom-node": 0,
"react/no-danger": 0,
"react/prop-types": 0,
"react/display-name": 0,
"react/no-deprecated": 0,
"react/no-direct-mutation-state": 0,
"jsx-a11y/href-no-hash": 0,
"jsx-a11y/no-static-element-interactions": 0,
},
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 8,
"requireConfigFile": false,
"ecmaFeatures": {
"jsx": true,
"experimentalObjectRestSpread": true
},
"babelOptions": {
"presets": [
"@babel/preset-react"
]
}
},
"settings": {
"import/resolver": "node"
},
"env": {
"browser": true,
"node": true
}
}
三、配置 .prettierrc.js prettierrc(格式化代码)
module.exports = {
printWidth: 100, // 指定代码长度,超出换行
tabWidth: 2, // tab 键的宽度
useTabs: false, // 不使用tab
semi: true, // 结尾加上分号
singleQuote: false, // 使用单引号
quoteProps: "as-needed", // 要求对象字面量属性是否使用引号包裹,(‘as-needed’: 没有特殊要求,禁止使用,'consistent': 保持一致 , preserve: 不限制,想用就用)
jsxSingleQuote: false, // jsx 语法中使用单引号
trailingComma: "none", // 确保对象的最后一个属性后有逗号
bracketSpacing: true, // 大括号有空格 { name: 'rose' }
jsxBracketSameLine: false, // 在多行JSX元素的最后一行追加 >
arrowParens: "always", // 箭头函数,单个参数添加括号
requirePragma: false, // 是否严格按照文件顶部的特殊注释格式化代码
insertPragma: false, // 是否在格式化的文件顶部插入Pragma标记,以表明该文件被prettier格式化过了
proseWrap: "preserve", // 按照文件原样折行
htmlWhitespaceSensitivity: "ignore", // html文件的空格敏感度,控制空格是否影响布局
endOfLine: "auto" // 结尾是 \n \r \n\r auto
};
四、vscode settings.json 配置自动保存
{
"editor.formatOnSave": true, // #每次保存的时候自动格式化
}
常见错误
关闭vscode 自带的 prettierrc校验
一般这种情况就是vscode 的 prettierrc和项目的.prettierrc.js 冲突了
解决办法: .eslintrc 里面关闭 vscode的 prettier
{
"rules": {
"prettier/prettier": 0, // 关闭Vscode的prettier验证
}
}
错误二 'React' must be in scope when using JSX
引用 React 一定要加 React
// 引用 React 一定要加 React !!!!!!!!!
import React from "react";
react+eslint+prettier 项目配置的更多相关文章
- 🔥完美解决ESlint+Prettier各项配置冲突的语法报错问题(新手向)
本文重点: 1.解决修改了Prettier默认配置,项目内格式化无法生效 2.解决Prettier缺少配置,函数名和括号之间,自动添加空格 3.settings.json配置项分享 一个程序员,可能非 ...
- 快速新建并配置一个eslint+prettier+husky+commitlint+vue3+vite+ts+pnpm的项目
前置准备 一台电脑 vscode pnpm vscode插件:ESLint v2.2.6及以上 vscode插件:Prettier - Code formatter v9.5.0及以上 vscode插 ...
- React-native ESLint & Prettier & Pre-commit Hook配置
目录 前言 一 eslint 1.1. 局部安装eslint 1.2 初始化配置文件 1.3 安装步骤 1.3.1 ESLint 风格 选Use a popular style guide 1.3.2 ...
- vscode 中 eslint prettier 和 eslint -loader 配置关系
前置 本文将探究 vscode prettier 插件 和 eslint 插件在 vscode 中的配置以及这两者对应的在项目中的配置文件的关系,最后提及 vscode eslint 插件配置与 es ...
- Vue2/3 项目中的 ESLint + Prettier 代码检测格式化风格指南
Vue2/3 项目中的 ESLint + Prettier 代码检测格式化风格指南 因为平时都是使用 VSCode ESLint + Prettier 检测格式化不规范代码,但是随着接手的项目越来越多 ...
- 小tips:使用vue-cli脚手架搭建项目,关于eslint语法检测配置
配置文件在项目根目录里,文件名以 .eslintrc.* 为名. 为了兼容以前写的代码,避免修改太多代码,把不符合自己习惯的规则去掉,简单配置代码: module.exports = { root: ...
- eslint+prettier+husky+lint-staged 统一前端代码规范
eslint+prettier+husky+lint-staged 统一前端代码规范 遵循编码规范和使用语法检测,可以很好的提高代码的可读性,可维护性,并有效的减少一些编码错误. 1.终极目标 团队中 ...
- 前端进阶(8) - 前端开发需要了解的工具集合:webpack, eslint, prettier, ...
前端开发需要了解的工具集合:webpack, eslint, prettier, ... 前端开发需要了解的一些工具,这些工具能够帮助你在项目开发中事半功倍. 1. nrm: npm registry ...
- eslint prettier editrorconfig - 写出干净的前端代码
FConfidence 关注 2018.12.30 02:38* 字数 2912 阅读 195评论 0喜欢 0 VSCode 插件安装 Prettier - Code Formatter ESLint ...
- React脚手架创建一个React应用以及项目目录结构详解
react脚手架 用来帮助程序员快速创建一个基于xxx库的模板项目,包含了所有需要的配置,指定好了所有的依赖,可以直接安装/编译/运行一个简单效果 react提供了一个专门用于创建react项目的脚手 ...
随机推荐
- 【全】CSS动画大全之其他【火影忍者动态背景】
效果预览 代码 <!DOCTYPE html> <html> <head> <head> <meta charset="utf-8&qu ...
- logback日志级别动态切换的四种方案
荐
生产环境中经常有需要动态修改日志级别. 现在就介绍几种方案 方案一:开启logback的自动扫描更新 配置如下 <?xml version="1.0" encoding=&q ...
- 将整个工程的GBK转为utf-8格式
eclipse将整个工程转为utf-8时原先中文注释会变为乱码,13年时写了个脚本将整个文件的java以及配置文件转为utf-8格式,下面是代码 package com.code.pd; import ...
- ubuntu 16.04 安装Python3.8虚拟环境
virtualenv为应用提供了隔离的Python运行环境,可以解决不同应用间多版本的冲突问题. virtualenv会把用户指定版本的python复制到虚拟环境下,并修改相关的环境变量,使得pyth ...
- 使用JDBC查询数据库会一次性加载所有数据吗
前几天有个小伙伴说他有个疑问:当我们发起一个查询的时候,数据库服务器是把所有结果集都准备好,然后一次性返回给应用程序服务吗(因为他们生产有个服务因为一个报表查询搞宕机了). 这样想的原因很简单,假设那 ...
- JavaScript Bom和Dom的一般性详解
一.JavaScript的组成 JavaScript的实现包括以下3个部分: ECMAScript(核心) 描述了JS的语法和基本对象. 文档对象模型 (DOM) 处理网页内容的方法和接口 浏览器对象 ...
- Maven高级——继承与聚合
继承与聚合 聚合 聚合:将多个模块组织成一个整体,同时进行项目构建的过程称为聚合 聚合工程:通常是一个不具有业务功能的"空"工程(有且仅有一个pom文件) 作用:使用聚合工程可以将 ...
- GZY.Quartz.MUI(基于Quartz的UI可视化操作组件) 2.7.0发布 新增各项优化与BUG修复
前言 时隔大半年,终于抽出空来可以更新这个组件了 (边缘化了,大概要被裁员了) 2.7.0终于发布了~ 更新内容: 1.添加API类任务的超时时间,可以通过全局配置也可以单个任务设置 2.设置定时任务 ...
- Redis系列补充:聊聊布隆过滤器(go语言实践篇)
★ Redis24篇集合 1 介绍 布隆过滤器(Bloom Filter)是 Redis 4.0 版本之后提供的新功能,我们一般将它当做插件加载到 Redis Service服务器中,给 Redis ...
- Windows平台下安装与配置MySQL9
要在Windows平台下安装MySQL,可以使用图行化的安装包.图形化的安装包提供了详细的安装向导,以便于用户一步一步地完成对MySQL的安装.本节将详细介绍使用图形化安装包安装MySQL的方法. 1 ...