eslint 搭配 prettier 格式化 + husky 搭配 lint-staged 实现提交格式化和检测

注:本文基本是写给自己看的, 属于一个记录笔记, 避免每次配置都要查, 写得不清晰, 仅供参考, 如果看了有疑问也可以在评论指出

首先默认项目已经有 eslint 检测,如果没有自行查找相关资料配置,这里重点值如何和 prettier 搭配工作

安装 prettier 包

需要依赖的包有: prettier , eslint-config-prettier, eslint-plugin-prettier

yarn add -D prettier eslint-config-prettier eslint-plugin-prettier

配置 prettierrc 和 prettierignore

.prettierrc 文件用于配置规则, .prettierignore 文件用于忽略默写不需要处理的文件或目录

prettier 规则可以查阅官方文档, 一般会配置 printWidth(单行长度), singleQuote(使用单引号), endOfLine(行尾符), indentSize(缩进长度), 以下是我的配置供参考:

.prettierrc

{"singleQuote": true,"printWidth": 120,"trailingComma": "all","arrowParens": "avoid","endOfLine": "auto","indentSize": 2,"semi": true,"alwaysParens": "avoid","htmlWhitespaceSensitivity": "ignore"
}

.prettierignore 文件一般会忽略一些打包文件(/dist/), 构建配置(/build/, /config/), node_modeles/, 测试文件(tests/), lock 文件(package-lock.json, yarn.lock), 还有一些针对 ide 的配置文件, 我的 .prettierignore 如下:

.prettierignore

/build/
/config/
/dist/
node_modules/
/.husky/tests/# 根目录下的文件
/*.js
/*.ts
/*.json# vue ts 配置
src/shims-*.d.tstypes/yarn.lock
package-lock.json# Log files
*.log
*.log.*# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

配置 eslintrc

要将 prettier 与 eslint 结合起来, 就要吧 prettier 添加到 eslint 的配置中去

{..."extends": [..."prettier",],plugins: ["prettier"]rules: ["prettier/prettier": "error",...],...
}

现在 prettier 就会随着 eslint 一起工作了, 如果需要保存是自动格式化, 需要配置编辑器的插件配置, 网上有很多教程

lint-staged

安装 lint-staged

yarn add -D lint-staged

配置 package.json

{..."script": {..."lint-staged": "lint-staged",...},..."lint-staged": {"src/**/*.{ts,js,vue,tsx,jsx}": ["eslint --fix","prettier --write","git add"]}
}

husky

yarn add husky -D
npm set-script prepare "husky install"
npm run prepare
npx husky add .husky/pre-commit npm run lint-staged

eslint 搭配 prettier 格式化 + husky 搭配 lint-staged 实现提交格式化和检测相关推荐

  1. vue项目接入eslint、prettier、husky+lint-staged

    引言 在vue-cli官方的脚手架创建项目时,会自动让选择Eslint+Prettier,如果是老项目想接入,那么按照下面步骤接入即可 eslint安装 npm i -D eslint eslint- ...

  2. eslint 保存自动格式化_代码规范之理解ESLint、Prettier、EditorConfig

    授权转载自:nowThen https://juejin.cn/post/6895889063111294990 前言 团队多人协同开发项目中困恼团队管理一个很大的问题是:无可避免地会出现每个开发者编 ...

  3. 更新版-梳理前端开发使用eslint和prettier来检查和格式化代码问题

    更新版,之前的版本可以看这里:梳理前端开发使用eslint和prettier来检查和格式化代码问题 一.问题痛点 在团队的项目开发过程中,代码维护所占的时间比重往往大于新功能的开发.因此编写符合团队编 ...

  4. 【总结】1265- 理解 ESLint、Prettier、EditorConfig 代码规范

    前言 团队多人协同开发项目中困恼团队管理一个很大的问题是:无可避免地会出现每个开发者编码习惯不同.代码风格迥异,为了代码高可用.可维护性, 如何从项目管理上尽量统一和规范代码呢? [x] 文档约定 - ...

  5. vscode的格式化工具:eslint 、 prettier、editorconfig 和 vetur

    文章目录 eslint--代码检查工具 eslint的作用 eslint的配置 第一步配置IDE的eslint环境 第二步:配置项目中的eslint 下载对应的包 vite集成eslint Eslin ...

  6. ESLint 和 Prettier 配合使用

    CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客 ESLint 是一款 Lint 工具,包含了代码质量检查等等. 而 Prettier 仅仅只是一个代码风格的约束工具,对 ...

  7. 在vscode里配置ESLint和Prettier

    在vscode里配置ESLint和Prettier 文章目录 在vscode里配置ESLint和Prettier vscode插件和npm包区别 解决ESLint和Prettier冲突 vscode环 ...

  8. husky配置 => git 日志提交规范限制, eslint检查

    1. husky 是什么 husky 是一个 Git Hook 工具.本文主要实现提交前 eslint 校验和 commit 信息的规范校验 简单说就是,当我们运行 git commmit -m 'x ...

  9. 前端代码规范工具ESLint和Prettier

    前端代码规范工具ESLint和Prettier 1. ESLint是什么? ESLint 是一个开源的 JavaScript 代码检查工具,由 Nicholas C. Zakas 于2013年6月创建 ...

最新文章

  1. 刚上线就报名2000人!8位大牛免费讲座,再不报名就满额了!
  2. 突发!Log4j 爆“核弹级”漏洞,Flink、Kafka等至少十多个项目受影响
  3. [sh]shell案例
  4. Android Wear开发者预览版入门
  5. tf卡低级格式化_华为授权雷克沙nCARD评测:用了这么多年TF卡,该换换了
  6. ASP.NET 后台下载文件方法
  7. widedeep 在贝壳推荐场景的实践
  8. Git之怎么通过命令修改前面几次提交的记录
  9. 素材网源码资源下载站源码,带用户中心和VIP充值系统,后台管理+素材下载+积分金币下载
  10. 如何在不安装Microsoft Office的情况下用C#创建Excel(.XLS和.XLSX)文件?
  11. 取出大文件里面的一部分数据
  12. 【SQLServer】常用时间格式转换
  13. 详解floor函数、ceil函数和round函数
  14. Linux 单独编译驱动模块(ko文件)
  15. 交换机的基本配置实验报告
  16. 从委内瑞拉大范围停电一事来看美国的攻击手段
  17. MyBatis缓存技术(一级缓存、二级缓存)
  18. 小白都能学会的Python基础 第五讲:综合实战1 - 商业实战之德勤笔试题
  19. rnss和rdss的应用_浅谈北斗二代RDSS与RNSS组合技术
  20. 2022-2028年中国生活垃圾转运站行业竞争现状及投资决策建议报告

热门文章

  1. 快速入门linux基本操作大全
  2. CC2530F256RHAR 可提供规格SDK ZigBee应用
  3. 如何抓取股票接口api?
  4. 知乎文章收藏-发展经验
  5. 微服务系列:分布式文件存储之 MinIO 入门指南
  6. python pip详解
  7. 中国分离机械行业专项研究及投资战略研究报告2022-2028年版
  8. 豆知识——打印机的使用
  9. 初学者尝试玩一个阴阳师抽卡代码,菜鸟轻喷....
  10. solaris tcp参数调整实例