ESlint与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('<h1>eslint init</h1>')
} 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,
useTabs: false,
semi: true,
singleQuote: true,
proseWrap: "preserve",
arrowParens: "avoid",
bracketSpacing: true,
disableLanguages: ["vue"],
endOfLine: "auto",
eslintIntegration: false,
htmlWhitespaceSensitivity: "ignore",
ignorePath: ".prettierignore",
jsxBracketSameLine: false,
jsxSingleQuote: false,
parser: "babylon",
requireConfig: false,
stylelintIntegration: false,
trailingComma: "es5",
tslintIntegration: false
解决ESLint和prettier冲突
解决 ESLint 中的样式规范和 prettier 中样式规范的冲突,以 prettier 的样式规范为准,使 ESLint 中的样式规范自动失效
npm i eslint-config-prettier --save-dev eslint-config-prettier 作用就是解决eslint和prettier冲突
需要在.eslintrc.js配置extend
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官网
|