web项目规范配置(husky、eslint、lint-staged、commit)

简介: 通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。

在现代Web开发中,规范配置有助于保持代码质量和一致性。通过使用Husky、ESLint、lint-staged和Commit规范,可以实现自动化的代码质量检查和规范化的提交流程。下面是详细的配置指南。

一、初始化项目

首先,确保你有一个Node.js项目。如果还没有,可以通过以下命令初始化:

mkdir my-web-project
cd my-web-project
npm init -y
​

二、安装必要的依赖

安装Husky、ESLint、lint-staged以及相关的依赖:

npm install --save-dev husky eslint lint-staged @commitlint/config-conventional @commitlint/cli
​

三、配置ESLint

ESLint是一个静态代码分析工具,用于识别和修复JavaScript中的问题。

  1. 初始化ESLint配置:

    npx eslint --init
    ​
    

    按照提示选择你的配置选项。例如,可以选择检查语法、找到问题和强制代码风格,选择JavaScript模块、React等。

  2. 创建或修改 .eslintrc.json文件,确保包含以下内容:

    {
      "env": {
        "browser": true,
        "es2021": true
      },
      "extends": [
        "eslint:recommended",
        "plugin:react/recommended",
        "plugin:@typescript-eslint/recommended"
      ],
      "parserOptions": {
        "ecmaFeatures": {
          "jsx": true
        },
        "ecmaVersion": 12,
        "sourceType": "module"
      },
      "plugins": [
        "react",
        "@typescript-eslint"
      ],
      "rules": {
        "semi": ["error", "always"],
        "quotes": ["error", "double"]
      }
    }
    ​
    

四、配置lint-staged

lint-staged用于在提交代码之前运行ESLint,只检查暂存区中的文件。

  1. package.json中添加以下配置:

    "lint-staged": {
      "*.js": [
        "eslint --fix",
        "git add"
      ]
    }
    ​
    

五、配置Husky

Husky用于在Git hooks中执行自定义脚本,比如在提交代码之前运行ESLint。

  1. 初始化Husky:

    npx husky install
    ​
    
  2. package.json中添加husky钩子:

    "husky": {
      "hooks": {
        "pre-commit": "lint-staged",
        "commit-msg": "npx --no-install commitlint --edit $1"
      }
    }
    ​
    
  3. 创建Husky配置文件:

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

六、配置Commitlint

Commitlint用于强制执行规范化的提交消息格式。

  1. 创建 commitlint.config.js文件,并添加以下内容:

    module.exports = {
      extends: ['@commitlint/config-conventional']
    };
    ​
    

分析说明表

步骤 说明 命令示例
初始化项目 初始化Node.js项目 npm init -y
安装依赖 安装Husky、ESLint、lint-staged和Commitlint npm install --save-dev husky eslint lint-staged @commitlint/config-conventional @commitlint/cli
配置ESLint 初始化ESLint配置并配置 .eslintrc.json npx eslint --init
配置lint-staged 配置 lint-staged,在提交前运行ESLint 添加 "lint-staged"配置到 package.json
配置Husky 初始化Husky并配置Git hooks npx husky install npx husky add .husky/pre-commit "npx lint-staged"
配置Commitlint 创建 commitlint.config.js并配置,强制规范化的提交消息格式 创建并配置 commitlint.config.js

结论

通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。

目录
相关文章
|
19天前
|
域名解析 Apache PHP
怎么为Web服务器配置虚拟主机?【步骤演示】
在上述代码中,一共有两处目录配置,第1处是处理网根目录配置,第2处是针对Apache安装目录下的htdoes目录的配置。当用户访问某个目录时,Apache会查找该目录的配置和所有上级目录的配置,该目录的配置会覆盖上级目录的配置。 第1处配置中的Reqpuire all denied表示阻止所有的访问,第2处配置中的 Require all granted表示允许所有的访问。此外,还可以配置为Require local,表示只允许本地访问。
|
1月前
|
人工智能 安全 程序员
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
|
4月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
181 7
|
4月前
|
安全 Linux 开发工具
零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
OpenIM 为开发者提供开源即时通讯 SDK,作为 Twilio、Sendbird 等云服务的替代方案。借助 OpenIM,开发者可以构建安全可靠的即时通讯应用,如 WeChat、Zoom、Slack 等。 本仓库基于开源版 OpenIM SDK 开发,提供了一款基于 Electron 的即时通讯应用。您可以使用此应用程序作为 OpenIM SDK 的参考实现。本项目同时引用了 @openim/electron-client-sdk 和 @openim/wasm-client-sdk,分别为 Electron 版本和 Web 版本的 SDK,可以同时构建 PC Web 程序和桌面应用(Wi
238 2
|
7月前
|
缓存 JSON 监控
如何在项目中保证 Web 组件化的性能
保证 Web 组件化的性能需要从多个方面入手,综合运用各种优化方法和策略。通过持续的优化和改进,能够提高组件化的整体性能,为用户提供更好的体验,同时也有助于提高项目的开发效率和质量。
170 64
|
7月前
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
181 63
|
7月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
150 61
|
7月前
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
646 1
|
7月前
|
JavaScript 前端开发 数据安全/隐私保护
Web开发者必看:手把手教你如何轻松播放m3u8流地址,解锁视频播放新技能,让你的项目更上一层楼!
【10月更文挑战第23天】随着互联网技术的发展,m3u8格式因良好的兼容性和高压缩率被广泛用于网络流媒体传输。本文介绍如何在Web端播放m3u8流地址,包括引入视频播放器(如Video.js)、创建播放器容器、初始化播放器及播放m3u8流的具体步骤。此外,还涉及处理加密m3u8流的示例。
1496 1
|
17天前
|
Web App开发 前端开发 JavaScript
鸿蒙5开发宝藏案例分享---Web适配一多开发实践
这是一份实用的鸿蒙Web多设备适配开发指南,针对开发者在不同屏幕尺寸下的布局难题提供了解决方案。文章通过三大法宝(相对单位、媒体查询和窗口监听)详细介绍如何实现智能适配,并提供了多个实战案例,如宫格布局、对话框变形和自适应轮播图等。此外,还分享了调试技巧及工具推荐,帮助开发者快速上手并优化性能。最后鼓励读者实践探索,并提示更多官方资源等待发现。

热门文章

最新文章