首页 > 其他分享 >集成CommitLInt+ESLint+Prettier+StyleLint+LintStaged

集成CommitLInt+ESLint+Prettier+StyleLint+LintStaged

时间:2025-01-06 09:01:35浏览次数:3  
标签:LintStaged StyleLint prettier -- 代码 配置 eslint config ESLint

==代码可读性低代码==

  • ==代码规范落地难==

  • ==代码格式难统一==

  • ==代码质量低下==

配置 ESLint

  • ESLint 是一个用来识别 ECMAScript 并且按照规则给出报告的代码检测工具,使用它可以避免低级错误和统一代码的风格。它拥有以下功能:

    • 查出 JavaScript 代码语法问题。

    • 根据配置的规则,标记不符合规范的代码。

    • 自动修复一些结构、风格问题。

  • 防止代码很难维护,可以帮我们检查有没有死循环,有没有定义但未使用的变量等等。

  • ESLint官方文档ESLint - Pluggable JavaScript linter - ESLint中文

安装依赖
pnpm install -D eslint @eslint/create-config
  • @eslint/create-config:eslint配置文件初始化工具

生成配置文件

#  生成 ESLint 配置文件模板
npx eslint --init
# 出现如下选择
​
# 选择2 我们会使用 prettier 进行代码风格校验
How would you like to use ESLint?
1.只检查语法
2.检查语法并提示问题
3.检查语法、提示问题并且强制使用一些代码风格
​
# 你的项目用的哪一种模块化方式 选择1
What type of modules does your project use?
1.ES6
2.CommonJS
3.None
​
# 使用的框架 选择2
Which framework does your project use?
1.React
2.Vue.js
3.None
​
# 项目是否使用TS yes
Does your project use TypeScript?
​
# 项目在哪里跑的 选择1
Where does your code run?
1.browser
2.node
​
# 项目用哪种配置文件 选择1
What format do you want your config file to be in?
1.JavaScript
2.YAML
3.JSON
 
# 是否立即安装需要的依赖
Would you like to install them now?
# 会帮我们安装如下插件
# pnpm install -D eslint-plugin-vue@latest @typescript-eslint/eslint-plugin@latest @typescript-eslint/parser@latest
  • 熟悉之后我们就可以不使用配置生成工具

  • 直接新建配置文件进行配置即可

  • ESLint配置文件名称可以为:.eslintrc.js、.eslint.config.js (根据个人习惯选择即可)

这里是我常用的配置规则,更多配置规则请查阅ESLint中文。 单独的语法配置需要在rules中编写,全部配置请参考:List of available rules - ESLint中文

module.exports = {
  // 使 eslint 支持 node 与 ES6
  env: {
    browser: true,
    es2021: true,
    node: true,
  },
  // 引入推荐的语法校验规则
  extends: [
    'plugin:vue/vue3-recommended',
    'plugin:@typescript-eslint/recommended',
  ],
  overrides: [],
  /* 
   这里一定要配置对 先使用vue-eslint-parser 再使用@typescript-eslint/parser
   先解析 <template> 标签中的内容 然后再解析 vue <script> 标签中的 TS 代码
   */
  // 选择使用的解析器
  parser: 'vue-eslint-parser',
  // 解析器的详细配置
  parserOptions: {
    // 使用最新版 ES 语法
    ecmaVersion: 'latest',
    // 使用 ESLint TS 解析器
    parser: '@typescript-eslint/parser',
    // 使用 ES 模块化规范
    sourceType: 'module',
  },
  // 使用的插件
  plugins: ['vue', '@typescript-eslint'],
  // 自定义规则
  rules: {},
};
  • 配置完规则后我们配置一条指令用于代码质量的修复

// package.json
// --cache 为仅检测改动过的代码
// --max-warnings 0 表示出现超过0个警告强制eslint以错误状态推出
"scripts": {
  "lint:eslint": "eslint --cache --max-warnings 0 {src,mock}/**/*.{vue,ts,tsx} --fix",
},

我们还可以配置忽略文件,让 ESLint 不对这些文件进行校验。 新建 .eslintignore 进行配置。

node_modules
*.md
.vscode
.idea
dist
/public
/docs
.husky
.local
/bin

自动修复

  • 大部分IDE支持在修改代码后进行自动修复

  1. WebStorme:直接在Setting中搜索ESLint即可进行配置

  2. VSCode:需要在项目目录下加入如下配置文件,还需要下载ESLint插件

/.vscode/settings.json

{
  "editor.codeActionsOnSave": {
    "source.fixAll": true
  }
}

配置 Prettier

  • 多人协作的项目开发中,保持统一的代码风格是一件很重要的事。

  • Prettier就可以帮我们做到这个事情,但是ESLint不是也能规范代码风格么?可以是可以,但是相比Prettier差了很多,术业有专攻,Prettier可以让我们拥有超级整齐的代码。可以帮助我们配置是否使用分号,缩进的格式等等。

  • 官方文档:Prettier 中文网 · Prettier 是一个“有态度”的代码格式化工具

安装依赖
pnpm install -D prettier

添加配置文件

  • Prettier配置文件名称可以为:.prettierrc.js、.prettier.config.js (根据个人习惯选择即可)

  • 下面是我常用的一些配置,更多配置规则大家可以前官网查看:Options · Prettier 中文网

module.exports = {
  printWidth: 120, //单行长度
  tabWidth: 4, //缩进长度
  useTabs: true, //使用空格代替tab缩进
  semi: true, //句末使用分号
  singleQuote: true, //使用单引号
  endOfLine: "auto",
  trailingComma: "none", // 对象最后一个属性末尾是否要逗号
};
​
  • 配置一个指令便于我们使用prettier进行修复代码风格

{
  "script": {
    "lint:prettier": "prettier --write **/*.{js,json,tsx,css,less,scss,vue,html,md}",
  }
}

解决ESLint与Prettier冲突问题

安装依赖
pnpm install -D eslint-config-prettier eslint-plugin-prettier
  • eslint-config-prettier 的作用是关闭eslint中与prettier相互冲突的规则。

  • eslint-plugin-prettier 的作用是赋予eslint用prettier格式化代码的能力。 安装依赖并修改.eslintrc文件。

配置ESLint
/ 此配置在eslint配置文件中新增 
"extends": [
  "eslint:recommended",
  "plugin:vue/vue3-recommended",
  "plugin:@typescript-eslint/recommended",
  "plugin:prettier/recommended" // 在最后面新增extends
],

配置完成之后我们对代码风格的配置只会使用prettier的配置,相当于将eslint中冲突的规则覆盖掉了。 我们还可以配置忽略文件,让 Prettier 不对这些文件进行校验。 新建 .prettierignore 进行配置。

/dist/*
/node_modules/**

配置 StyleLint

  • tylelint 是一个强大、先进的 CSS 代码检查器(linter),可以帮助你规避 CSS 代码中的错误并保持一致的编码风格。

  • 你可能会想:WTF

    标签:LintStaged,StyleLint,prettier,--,代码,配置,eslint,config,ESLint
    From: https://blog.csdn.net/lh20_02/article/details/144955253

相关文章

  • 【CSS】末尾分号与Prettier和ESLint的最佳实践
    文章目录一、CSS文件中分号的重要性1.分号在CSS中的作用2.没有分号会发生什么3.为什么不能用逗号(`,`)替代分号(`;`)二、使用Prettier格式化CSS文件1.Prettier的功能2.安装Prettier3.配置Prettier4.配合Prettier自动格式化CSS文件三、使用ESLint校验CSS文件1.ESLin......
  • vue关闭eslint校验及开启debugger
    文章目录在Vue项目中关闭ESLint检查,可以通过以下几种方式实现:修改package.json文件中的eslintScript,将其设置为空字符串或者直接删除。在项目根目录下创建.eslintrc.js文件,并设置rules为关闭所有规则。如果使用VueCLI创建的项目,可以在vue.config.js文件中配置,关闭lintOn......
  • [ESLint] 检查规则
    检查规则这节课我们主要学习ESLint里面的规则相关的知识。规则是ESLint中一个比较重要的核心概念之一,因为究竟报不报错,是由规则来确定的。规则的重要性在ESLint中,本身可以配置规则的重要性,总共分为三个级别:off或者0:关闭这条规则warn或者1:这条规则的级别为警告......
  • VScode中配置ESlint+Prettier详细步骤(图文详情)
    VScode中配置ESlint+Prettier详细步骤(图文详情)前置环境:node18.19.0vite3.2.11vue3.2.47本文将不在演示vue3基础工程创建,如果还没有vue3项目工程请参考文章:Vite创建Vue3工程并引入ElementPlus(图文详细)本文的ESlint+Prettier版本:ESlint8.57.1Prettier3.2.51ed......
  • 园子博客后台升级至 angular 19 后 eslint 9 迁移记录
    最近在将园子的博客后台从angular15升级至angular19,升级基本完成后发现eslint不能正常工作。vscodeoutputpanel出现了eslint的警告与报错(node:8724)ESLintIgnoreWarning:The".eslintignore"fileisnolongersupported.Switchtousingthe"ignores"proper......
  • @rushstack/eslint-patch 这个包的作用是什么
    @rushstack/eslint-patch是一个由Microsoft的RushStack团队开发的工具,主要用于修补ESLint在某些特定场景下的行为,特别是在使用TypeScript和其他语言特性时。它的主要作用是解决ESLint与一些现代JavaScript/TypeScript工具链集成时可能遇到的问题,并确保ESLint能够......
  • Next.js项目中.eslintrc.js的配置
    print'helloworld!'module.exports={//扩展配置,包含Next.js的核心WebVitals插件和TypeScript支持插件等extends:['next/core-web-vitals','plugin:@typescript-eslint/recommended','plugin:import/recommended','prettier'......
  • React 与 Stylelint:提升CSS质量,保持代码风格一致性的指南
    前言在前端开发中,维护一致且高质量的CSS代码对于项目的长期可维护性和团队协作至关重要。Stylelint作为一款强大的CSS代码检查工具,在确保代码质量方面发挥了重要作用。本教程将详细介绍如何在React项目中集成和使用Stylelint,通过这一过程,我们将能够提升代码的一致......
  • 项目搭建04 配置stylelint
    stylelint为css的lint工具。可格式化css代码,检查css语法错误与不合理的写法,指定css书写顺序等。1)安装pnpmaddsasssass-loaderstylelintpostcsspostcss-scsspostcss-htmlstylelint-config-prettierstylelint-config-recess-orderstylelint-config-recommended-scs......
  • ESLint CLI 深度解析:配置选项与高效工作流(5)
    CLI命令行工具关于CLI命令行工具,我们在第一节课的时候就用到过一个:eslint--fix.在官网,我们可以看到CLI命令行工具的基本格式为:eslint[options][file|dir|glob]*我们先来看后面的[file|dir|glob]*,这个部分主要是用来指定ESLint应该检查哪些文件:file:用......