eslint,prettier配置

eslint,prettier配置,第1张

ESlint与Prettier配置

文章目录 ESlint与Prettier配置什么是eslinteslint配置 什么是prettier为什么要使用prettier?安装prettier解决ESLint和prettier冲突prettier额外配置 总结


什么是eslint

简单的说eslint就是代码检查工具, 用来检查你的代码是否符合指定的规范;使用它可以避免低级错误和统一代码的风格。如果每次在代码提交之前都进行一次eslint代码检查,就不会因为某个字段未定义为undefined或null这样的错误而导致服务崩溃,可以有效的控制项目代码的质量。


eslint配置 初始化一个express项目

mkdir eslint-test
cd eslint-test
npm init -y
npm i express
touch index.js

index.js内容如下

const express = require('express')
const app = express()

app.get('/', async (req, res) => {
	try {
		res.send('eslint init')
	} catch {}
})

app.listen(3000, () => {
	console.log('server run on port 3000')
})
安装eslint并初始化

npm i eslint --save-dev
npm init @eslint/config

选择eslint提供的功能

3.1 选择检查语法, 发现问题,强制代码风格

3.2 项目以哪种模块类型,选择 CommonJs, 因为我们是使用的Node环境

3.3 项目使用什么框架, 什么都不选

3.4 项目使用ts吗,选择不使用

3.5 项目使用什么样的代码风格 选择使用一个流行的样式方案

3.6 提供的几种比较流行的方案, 选择标准的

3.7 配置文件已什么结尾的, 这里选择 js

3.8 安装标准方案提供的一些依赖

3.9 使用什么包管理器, 这里选择 npm

创建 .eslintignore文件,该文件是eslint需要忽略的文件

node_modules
package*.json

在package.json中scripts中添加配置
"lint": "eslint . --ext .js,.json",
"lint:fix": "eslint --fix . --ext .js,.json"

需要⚠️注意的是: eslint --fix . --ext .js,.json中的.js,.json中间不要带空格
执行 npm run lint即可查看哪些代码不符合eslint的标准, npm run lint:fix可以修复这些不符合的标准 什么是prettier

Prettier是一个代码格式化工具,它可以支持JS/JSX/TS/Flow/JSON/CSS/LESS等文件格式。

为什么要使用prettier?

用来替代lint中的一些场景,比如说分号/tab缩进/空格/引号,这些在lint工具检查出问题之后还需要手动修改,而通常这样的错误都是空格或者符号之类的,这样相对来说不太优雅,利用格式化工具自动生成省时省力。

安装prettier

npm install --save-dev --save-exact prettier
–save-exact的作用就是固定依赖包的版本,不要带^或~,避免出现小版本。
有利于版本统一。

创建 .prettierrc.js, 内容如下
module.exports = {
  tabWidth: 2,
  printWidth: 80,
  useTabs: false,
  semi: true,
  singleQuote: true,
  bracketSpacing: true,
  bracketSameLine: false,
  trailingComma: 'es5',
  overrides: [
    {
      files: '*.json',
      options: {
        printWidth: 140,
      },
    },
  ],
};

prettier常用配置

// 超过最大值换行
printWidth: 100, 
 // 缩进字节数
tabWidth: 4,
 // 缩进不使用tab, 使用空格
useTabs: false,
 // 句尾添加分号
semi: true,
// 使用单引号代替双引号
singleQuote: true, 
// 默认值。因为使用了一些折行敏感型的渲染器(如GitHub comment)而按照markdown文本样式进行折行
proseWrap: "preserve", 
//  (x) => {} 箭头函数参数只有一个时是否要有小括号。avoid: 省略括号
arrowParens: "avoid", 
 // 在对象,数组括号与文字之间加空格 "{ foo: bar }"
bracketSpacing: true,
 // 不格式化vue文件,vue文件的格式化单独设置
disableLanguages: ["vue"],
// 结尾是 \n \r \n\r auto
endOfLine: "auto", 
//不让prettier使用eslint的代码格式进行校验
eslintIntegration: false, 
htmlWhitespaceSensitivity: "ignore",
 // 不使用prettier格式化的文件填写在项目的.prettierignore文件中
ignorePath: ".prettierignore",
// 在jsx中把'>' 是否单独放一行
jsxBracketSameLine: false, 
// 在jsx中使用单引号代替双引号
jsxSingleQuote: false, 
 // 格式化的解析器,默认是babylon
parser: "babylon",
// Require a 'prettierconfig' to format prettier
requireConfig: false, 
 //不让prettier使用stylelint的代码格式进行校验
stylelintIntegration: false,
 // 在对象或数组最后一个元素后面是否加逗号(在ES5中加尾逗号)
trailingComma: "es5",
 // 不让prettier使用tslint的代码格式进行校验
tslintIntegration: false
解决ESLint和prettier冲突

解决 ESLint 中的样式规范和 prettier 中样式规范的冲突,以 prettier 的样式规范为准,使 ESLint 中的样式规范自动失效

npm i eslint-config-prettier --save-dev
eslint-config-prettier 作用就是解决eslint和prettier冲突

需要在.eslintrc.js配置extend

extends: [
	// eslint-config-prettier, 关闭一些与 Prettier 冲突的 ESLint 规则。
	// 覆盖eslint格式配置, 需要写在extends最后面
	'prettier',
],
prettier额外配置

大家都知道prettier主要是用来进行代码格式化的, 美化代码的, 那肯定需要触发如: prettier --write . ,这个插件的主要作用就是将 prettier 作为 ESLint 的规则来使用,相当于代码不符合 Prettier 的标准时,会报一个 ESLint 错误,同时也可以通过 eslint --fix 来进行格式化。

安装eslint-plugin-prettier

npm i eslint-plugin-prettier -D

需要在.eslintrc.js配置extend

extends: [
	'plugin:prettier/recommended'
],
总结

以上便是eslint,prettier的配置

prettier: prettier官网
eslint: eslint官网

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/945144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-18
下一篇 2022-05-18

发表评论

登录后才能评论

评论列表(0条)

保存