| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 如何在项目中使用git hook规范化代码 -> 正文阅读 |
|
[JavaScript知识库]如何在项目中使用git hook规范化代码 |
什么是Git Hooks?参考资料:官方文档 简单的讲,所谓Hook,一般就是在特定时期提供一个可介入自定义的脚本; Husky大多数前端程序员对编写shell脚本是不熟悉的,这个时候就有个神奇的工具Husky来帮助我们实现Git Hooks的使用需求;
Lint-stagedlint-staged 是一个在git暂存文件上运行linters的工具 如果我们想在husky执行了npm run test之后再去做格式化,或者将格式化之后的代码添加到暂存区,这个时候Husky就不够用了,这个时候又有个神奇的工具
在项目中集成ESLinteslint的安装可以参考这篇文章:【前端工程化】六:前端规范化标准及工具ESLint等基本使用
ESLint-编辑器集成只要安装了ESLint插件并启用了这个插件,它就会自动查找项目中的eslint配置规范,并且给出验证提示,同时可以在编辑器中配置使用eslint来格式化代码; 在git commit的时候验证eslintlint的目的是为了防止我们写出不规范的代码,应当把我们的lint命令加入到开发构建的过程中,强制要求遵守规范
“prepare”: “husky install” 是npm scripts的钩子,只要我们执行npm install安装依赖就会自动执行husky install将husky配置到本地的git仓库当中;这样做的目的是为了项目中其他成员初始化项目时可以将husky一并配置;
“lint-staged"配置的”.{js,jsx,vue,ts,tsx}"* 的意思是当我们去commit的时候.js,jsx,vue,ts,tsx文件资源的时候去执行"npm run lint", "git add"命令,这是我们使用lint-staged的基本操作; 在开发和构建的时候进行验证
这样在开发构建的时候如果不符合规范会在页面报错 GitCommit规范
总结我们在项目初始化的时候会配置代码规范,其中使用到了eslint,husky,lint-staged,commitlint等工具; 首先我们配置了eslint的配置文件,会自动集成进下载了eslint插件的vscode编辑器; 然后我们需要在git commit 的时候去调用eslint来验证规范,以保证提交到仓库的代码符合规范; 同时需要在开发和构建的时候调用eslint来验证规范,已保证在开发构建的过程中不符合规范的书写会直接在页面报错; 使用husky的作用是来使用git hooks的钩子的,使用lint-staged是来操作暂存区文件的,而使用commitlint是为了验证commit msg规范的; 所以我们想要在git commit的时候去调用eslint的时候,配置完了lint-staged要去使用命令行操作husky给git的pre-commit添加钩子; 在我们配置完了commitlint的时候,需要使用命令行操作husky给git的commit msg添加钩子; |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:52:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |