vite项目添加eslint prettier及husky方法实例

目录
  • 1. 初始化vite项目
  • 2. 添加eslint
  • 3. 添加 prettier
  • 4. 添加 husky和lint-staged
  • 5. 配置commitlint

1. 初始化vite项目

npm init vite
 Project name: … vite-project // 项目名称,默认 vite-project
 Select a framework: › react  // 选择框架
 Select a variant: › react-ts // 选择组合

2. 添加eslint

安装

npm i -D eslint

初始化eslint配置

npx eslint --init
 How would you like to use ESLint?
// To check syntax, find problems, and enforce code style
 What type of modules does your project use?
// JavaScript modules (import/export)
 Which framework does your project use?
// react
 Does your project use TypeScript?
// Yes
 Where does your code run?
// browser
 How would you like to define a style for your project?
// Use a popular style guide
 Which style guide do you want to follow?
// Airbnb
 What format do you want your config file to be in?
// JavaScript

解决eslint报错

Missing semicolon.eslint: 末尾加上;即可

JSX not allowed in files with extension '.tsx': 在.eslintrc.json中添加rules设置

{
    // ...
    "react/jsx-filename-extension": [
        "error",
        {
            "extensions": [".js", ".jsx", ".tsx", ".ts"]
        }
    ]
};

{count} must be placed on a new line: 代码换行即可;

Unable to resolve path to module './App': 在.eslintrc.json中添加rules设置

{
    // ...
    rules: {
         "import/no-unresolved": "off",
         "import/extensions": "off",
         "import/no-absolute-path": "off"
    },
};

'vite' should be listed in the project's dependencies, not devDependencies.:

.eslintrc.json中添加rules设置

{
    // ...
    "rules": {
        "import/no-extraneous-dependencies": [
            "error",
            {"devDependencies": true}
        ]
        // ...
    }
};

3. 添加 prettier

安装

npm i -D prettier eslint-config-prettier eslint-plugin-prettier

prettier: 核心模块

eslint-config-prettier: 关闭所有不必要或可能跟prettier产生冲突的规则

eslint-plugin-prettier: 可以让eslint使用prettier规则进行检查

配置

根目录下.eslintrc.json文件中添加extends设置

{
    // ...
    "extends": [
        // ...
        "plugin:prettier/recommended",
    ],
}

根目录下创建.prettierrc.json文件

{
  "trailingComma": "es5",
  "tabWidth": 2,
  "semi": true,
  "singleQuote": true
}

注意️:

修改.prettierrc.json文件后,需要重启vscode才生效

如果配置后,配置不生效,尝试以下设置:

4. 添加 husky和lint-staged

安装

npm i -D lint-staged husky

配置

package.json中添加脚本

npm set-script prepare "husky install"

package.json文件的scripts中,就会自动添加prepare

2. 初始化husky,将 git hooks钩子交由husky执行

npm run prepare

会在根目录创建.husky文件夹

3. 配置package.json

package.json文件如下:

{
  "env": {
    "browser": true,
    "node": true,
    "es2021": true
  },
  "extends": [
    "plugin:react/recommended",
    "airbnb",
    "plugin:prettier/recommended",
    "plugin:import/recommended"
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": "latest",
    "sourceType": "module"
  },
  "plugins": ["react", "@typescript-eslint"],
  "rules": {
    "import/no-extraneous-dependencies": [
      "error",
      {"devDependencies": true}
    ],
    "react/jsx-filename-extension": [
      "error",
      {
        "extensions": [".js", ".jsx", ".tsx", ".ts"]
      }
    ],
    "import/no-unresolved": "off",
    "import/extensions": "off",
    "import/no-absolute-path": "off"
  }
}

添加钩子pre-commit

npx husky add .husky/pre-commit "npx lint-staged"

5. 配置commitlint

  • 作用:规范提交信息
  • 格式:git commit -m '类型: 描述性文字'
类型 概念
build 编译相关的修改,例如发布版本、对项目构建或者依赖的改动
ci 持续集成修改
docs 文档修改
feat 新特性、新功能
fix 修改bug
perf 优化相关,比如提升性能、体验
refactor 代码重构
revert 回滚到上一个版本
style 代码格式修改, 注意不是 css 修改
test 测试用例修改
chore 其他修改,比如改变构建流程、或者增加依赖库、工具等
  • 安装
npm i -D commitlint @commitlint/config-conventional
  • 配置

package.json中配置commitlint

{
    // ...
    "commitlint": {
        "extends": [
            "@commitlint/config-conventional"
        ]
    }
}
  • 添加钩子
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'

git commit 就会触发提交规范的校验啦;

以上就是vite项目添加eslint prettier及husky方法实例的详细内容,更多关于vite项目添加eslint prettier husky的资料请关注我们其它相关文章!

(0)

相关推荐

  • vue-cli创建项目时由esLint校验导致报错或警告的问题及解决

    目录 vue-cli创建项目时由esLint校验导致报错或警告 eslint语法限制项目报错解决 vue-cli创建项目时由esLint校验导致报错或警告 vue-cli创建项目后编写代码控制台一片黄 但不影响代码执行 但是看着就是很不爽啊 到网上搜索了一下这个问题,想起来初始化项目时安装了esLint校验工具 嗯,我看到了很多办法都是下面这样的 1.因为你设置了eslint,如果你不想有规范的js代码,可以重新初始化关掉eslint. Use ESLint to lint your code?

  • Vue项目中引入ESLint校验代码避免代码错误

    目录 1 ESLint 是什么 2 在 Vue 项目中引入 ESLint 2.1 引入 ESLint 2.2 ESLint 配置 2.3 执行 ESLint 代码检查 2.4 自动修复 ESLint 问题 3 配置 husky 和 PR 门禁 3.1 配置 husky 门禁 3.2 配置 PR 门禁 4 常见的 ESLint 问题及修复案例 4.1 案例1: 4.2 案例2: 4.3 案例3: 4.4 案例4: 5 感谢 1 ESLint 是什么 ESLint 是一个插件式的 JavaScrip

  • vue关于eslint空格缩进等的报错问题及解决

    目录 关于eslint空格缩进等的报错问题 解决办法有四种 eslint使用规则和各种报错对应规则 ESLint 主要有以下特点 关于eslint空格缩进等的报错问题 解决办法有四种 1. 在.eslintrc.js文件中添加如下代码: rules: { 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-debugger': process.env.NODE_ENV === 'production'

  • vue-cli构建的项目如何手动添加eslint配置

    目录 package.json里配置添加 根目录下添加检测配置js文件.eslintrc.js 添加忽略检测配置文件.eslintignore webpack.base.conf.js rules里添加eslint-loader配置 config->index.js的dev里添加 Eslint的一些规则说明 1.使用Eslint的时候如果出现未闭合标签会报红 2.需要在单行元素的内容之前和之后换行 package.json里配置添加 1.scripts里添加快捷eslint检查命令 "li

  • vue去掉严格开发,去掉vue-cli安装时的eslint或修改配置方式

    目录 直接上问题 问题原因 解决办法 vue-cli关闭eslint及配置eslint 关闭eslint的方法 配置eslint的方法 vuex自动修复的方法 直接上问题 当我运行vue项目时候:npm run dev 出现以下问题警告报错.(如下图) 问题原因 用vue-cli构建项目时安装了eslint选择了Y,这东西很蛋疼.tab键不能使用,必须换成两个空格.sublime可以选择tab键自动转换成空格键.要不你就不要安装eslint. 解决办法 只需要删掉 build/webpack.b

  • vite项目添加eslint prettier及husky方法实例

    目录 1. 初始化vite项目 2. 添加eslint 3. 添加 prettier 4. 添加 husky和lint-staged 5. 配置commitlint 1. 初始化vite项目 npm init vite Project name: - vite-project // 项目名称,默认 vite-project Select a framework: › react // 选择框架 Select a variant: › react-ts // 选择组合 2. 添加eslint 安装

  • Vite项目自动添加eslint prettier源码解读

    目录 引言 使用 源码阅读 总结 引言 vite-pretty-lint库是一个为Vite创建的Vue或React项目初始化eslint和prettier的库. 该库的目的是为了让开发者在创建项目时,不需要手动配置eslint和prettier,而是通过vite-pretty-lint库来自动配置. 源码地址: vite-pretty-lint github1s 直接看 使用 根据vite-pretty-lint库的README.md,使用该库的只需要执行一行命令即可: // NPM npm i

  • 实例详解Vue项目使用eslint + prettier规范代码风格

    团队开发的项目,如果没有对代码风格作要求,有多少团队成员,就当然会出现多少种不同的代码风格.因此,我们需要一种能够统一团队代码风格的工具,作为强制性的规范,统一整个项目的代码风格. 幸好,我们有 eslint 和 prettier . eslint VS prettier 应该大多数项目都已经采用eslint来对代码进行质量检查,可能少部分还会采用其进行一定程度上的统一风格.那为什么还需要prettier呢?我们先来对它们作一个简单的了解. 各种linters 总体来说,linters有两种能力

  • JFrame中添加和设置JPanel的方法实例解析

    Swing 程序用JFrame 对象实现了它们的窗口.JFrame 类是AWT Frame 类的一个子类.它还加入了一些Swing 所独有的特性.与 Frame 的使用十分相似.唯一的区别在于,你不能将组件加入到JFrame中.你可以或者将组件加入到JFrame 的content pane(内容面板) 中,或者提供一个新的content pane(内容面板). 面板与顶层容器的不同点:面板不能独立存在,必须被添加到其他容器内部(面板可以嵌套). JFrame 有一个 Content Pane,窗

  • Thinkphp5.1获取项目根目录以及子目录路径的方法实例讲解

    导读: 最近使用Thinkphp5.1做开发,在使用LOG_PATH常量(日志路径)时发生报错,因为之前一直使用5.0的框架,换到5.1版本后,出现这种情况,很明白是官方做了调整,所以特地去看了官方说明. 官方文档:https://www.kancloud.cn/manual/thinkphp5_1/ 常量调整 Thinkphp5.1取消了所有的框架内置常量(不影响应用代码中的自定义常量),如需获取,请使用think\facade\App类的内置方法以及think\facade\Env类获取.

  • javascript将DOM节点添加到文档的方法实例分析

    本文实例讲述了javascript将DOM节点添加到文档的方法.分享给大家供大家参考.具体如下: 这里对两种方法进行了比较:第一种:先创建所有节点,再添加到文档方式的运行时长:第二种:先向文档添加一个空容器,然后每创建一个节点,再添加到容器中方式的运行时长,从测试来看,第二种方法优于第一种! 运行效果如下图所示: 具体代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-eq

  • 给vue项目添加ESLint的详细步骤

    eslint配置方式有两种: 1.注释配置:使用js注释来直接嵌入ESLint配置信息到一个文件里 2.配置文件:使用一个js,JSON或者YAML文件来给整个目录和它的子目录指定配置信息.这些配置可以写在一个文件名为.eslintrc.*的文件或者在package.json文件里的eslintConfig项里,这两种方式ESLint都会自动寻找然后读取,或者你也可以在命令行里指定一个配置文件. 有几种东西是可以配置的: 环境:你的脚本会在哪种环境下运行.每个环境带来了一组特定的预定义的全局变量

  • vue项目关闭eslint校验

    简介eslint eslint是一个JavaScript的校验插件,通常用来校验语法或代码的书写风格. 官方文档:https://eslint.org 这篇文章总结了eslint的规则:Eslint规则说明 关闭eslint校验 有了eslint的校验,可以来规范开发人员的代码,是挺好的.但是有些像缩进.空格.空白行之类的规范,在开发过程中一直报错,未免太过于苛刻了.所以,我还是会选择关闭eslint校验. 下面就介绍一下vue项目中如何关闭这个校验. 首先我们在创建一个vue项目的时候,会有一

  • vue项目中使用eslint+prettier规范与检查代码的方法

    1.前言   在团队协作中,为避免低级 Bug.以及团队协作时不同代码风格对彼此造成的困扰与影响,会预先制定编码规范.使用 Lint 工具和代码风格检测工具,则可以辅助编码规范执行,有效控制代码质量.EsLint 则是其中一个很好的工具. EsLint 提供以下支持: ES6 AngularJS JSX Style 检查 自定义错误和提示 EsLint 提供以下几种校验: 语法错误校验 不重要或丢失的标点符号,如分号 未被使用的参数提醒 漏掉的结束符,如} 确保样式的统一规则,如 sass 或者

  • 怎样在vue项目下添加ESLint的方法

    简易搭建 ESLint官网网址 ESLint中文官网 如果你是想在自己的项目里搭建ESLint,就可以按照官网的指示, 以全局安装举例, npm install -g eslint 然后初始化 eslint --init 它会问你一些问题,你可以按照你的喜好进行配置,我选的是popular下面的standard,生成的文件是js格式,那么就会创建出eslintrc.js文件: module.exports = { "extends": "standard" }; 然

随机推荐