当前位置: 首页 > news >正文

前端 eslint 配置,以及在git提交之前自动format

目录

  • 1、配置eslint
      • 步骤 1、eslint安装配置
      • 步骤 2、配置scripts
      • 步骤 3、测试eslint
  • 2、配置git-hook
      • 1、安装环境
      • 2、最终效果

众所周知,前端项目可以在报很多error的情况下运行。但是良好的代码规范仍然有利于项目的开发维护,这里提供我的规范,仅供参考。

1、配置eslint

步骤 1、eslint安装配置

这个还是用 Antfu 的,在前端根目录下配置 eslint.config.js。

默认是.eslintrc,要使用eslint.config.js,需要将eslint去年出的新功能打开:

   # setting"eslint.useFlatConfig": true,  # 刚才setting文件中有这一项 
// eslint.config.js
import antfu from '@antfu/eslint-config';export default antfu({stylistic: {indent: 'tab', // 4, or 'tab'},svelte: false,
});

安装 pnpm install -D @antfu/eslint-config

步骤 2、配置scripts

peckage.json文件中配置命令:

	"scripts": {"lint": "eslint .","lint:fix": "eslint . --fix",},

步骤 3、测试eslint

pnpm lint

2、配置git-hook

1、安装环境

1、项目根目录下执行 npx husky install
2、新建文件 .husky/pre-commit

#!/bin/shecho "linting..."
pnpm lint:fix || true # 上述eslint的配置是很严格的,所以这里即使有报错,仍然提交

这是一个bash脚本,功能是在commit之前,对代码格式化(执行 pnpm lint:fix)。
所以如果前端项目不在根目录,则首先cd front
目录如下:
在这里插入图片描述

2、最终效果

$ git commit -m "test"
linting...> loadtable@4.4.0 lint:fix /Users/li/VueProjects/CXF-ELC-GroundBasedTool/Front-End
> eslint . --fix/Users/li/VueProjects/CXF-ELC-GroundBasedTool/Front-End/.eslintrc.js192:18  error  Unexpected use of the global variable 'process'. Use 'require("process")' instead  node/prefer-global/process... # 中间还有很多报错,可以根据报错,修改自身代码176 problems (169 errors, 7 warnings)ELIFECYCLE  Command failed with exit code 1.
[main 31a9c46] test3 files changed, 1 insertion(+), 12 deletions(-)mode change 100755 => 100644 .husky/pre-commit
http://www.lryc.cn/news/471439.html

相关文章:

  • 2024.10.9华为留学生笔试题解
  • 利用ADPF性能提示优化Android应用体验
  • 论文阅读 - Pre-trained Online Contrastive Learning for Insurance Fraud Detection
  • 【最全基础知识2】机器视觉系统硬件组成之工业相机镜头篇--51camera
  • 虚拟机WIN7安装PADS VX24 出现脚本故障 IPW213
  • Java正则表达式详解万字笔记内容丰富
  • 文件属性与目录
  • 5G 基站SCTP
  • MFC的SendMessage与PostMessage的区别
  • 学习虚幻C++开发日志——基础案例(持续更新中)
  • 【CUDA代码实践03】m维网格n维线程块对二维矩阵的索引
  • VSCode Qt6安装OpenSSL
  • JAVA学习-练习试用Java实现“定义一个用户类,包含用户名和密码”
  • 大数据之VIP(Virtual IP,虚拟IP)负载均衡
  • 鸿蒙网络编程系列38-Web组件文件下载示例
  • Cisco Packet Tracer 8.0 路由器的基本配置和Telnet设置
  • Flink系列之:学习理解通过状态快照实现容错
  • Linux 读者写者模型
  • JavaScript 的 axios 实现文件下载功能
  • 合合信息亮相2024中国模式识别与计算机视觉大会,用AI构建图像内容安全防线
  • 深度学习:匿名函数lambda函数的使用与numerical_gradient函数
  • PHP数据类型
  • 2FA-双因素认证
  • 解决 Python 中的 TypeError 错误
  • 快速学会C 语言基本概念和语法结构
  • Python酷库之旅-第三方库Pandas(172)
  • Linux系统下minio设置SSL证书进行HTTPS远程连接访问
  • npm 包的命名空间介绍,以及@typescript-eslint/typescript-eslint
  • ecovadis评估是什么,有什么提成自己评分等级
  • Vue3中ref、toRef和toRefs之间有什么区别?