如何使用JavaScript格式化代码_Prettier和ESLint有什么区别呢


Prettier 负责代码格式统一,ESLint 专注逻辑错误与质量检查;二者分工明确、互补协作,通过 eslint-config-prettier 避免冲突,实现提交前自动检查与格式化。

直接用 Prettier 格式化代码,用 ESLint 检查逻辑和潜在错误——两者分工明确,配合使用效果最好。

Prettier 是代码“美容师”

Prettier 只做一件事:统一代码风格。它自动处理缩进、引号、括号换行、分号、逗号位置等视觉层面的格式问题,不关心代码是否能运行或有没有 bug。

  • 开箱即用,配置极少(比如 singleQuote: truesemi: false
  • 不接受“风格争论”,强制统一输出,团队协作时省去大量格式讨论
  • 支持 JavaScript、TypeScript、CSS、JSON、Markdown 等多种文件类型
  • 常集成到编辑器(如 VS Code)中,保存时自动格式化

ESLint 是代码“质检员”

ESLint 关注的是代码质量与规范。它通过规则检测潜在错误(如变量未定义、死代码)、安全风险(如 eval 使用)、可维护性问题(如过深嵌套),也支持自定义风格规则(但不推荐和 Prettier 冲突)。

  • 规则可开关,例如 no-consoleno-unused-varseqeqeq
  • 能配合 TypeScript 和 React 等生态插件(如 @typescript-eslinteslint-plugin-react
  • 建议关闭 ESLint 中与格式相关的规则(如 indentquotes),交给 Prettier 处理
  • 通常在提交前(git hook)或 CI 流程中运行,避免问题进入主干

怎么一起用才不打架?

核心原则:Prettier 负责格式,ESLint 负责逻辑和质量。关键在于让 ESLint 忽略格式类规则,并把 Prettier 当作一个“可执行的格式化工具”来调用。

  • 安装 prettiereslint-config-prettier(禁用所有与 Prettier 冲突的 ESLint 规则)
  • 在 ESLint 配置中加入 "extends": ["eslint:recommended", "prettier"]
  • eslint --fix 修复 ESLint 能修的问题(如删除未用变量),再用 prettier --write 统一格式
  • 推荐搭配 lint-staged + husky,实现 git commit 前自动检查+格式化

一句话总结区别

Prettier 决定代码“长什么样”,ESLint 判断代码“对不对、好不好”。一个管外表,一个管内里;一个靠重写,一个靠分析;不冲突,只互补。

基本上就这些。


# css  # react  # javascript  # java  # js  # markdown  # git  # json  # typescript  # 工具 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化76771 】 【 技术知识130152 】 【 IDC云计算60162 】 【 营销推广131313 】 【 AI优化88182 】 【 百度推广37138 】 【 网站推荐60173 】 【 精选阅读31334


相关推荐: Windows10系统怎么查看显卡驱动_Win10设备管理器驱动更新  Win11怎么开启远程桌面_Win11系统远程桌面启用开关  Win11怎么设置闹钟_Windows 11时钟应用闹钟设置指南【详解】  c++的mutex和lock_guard如何使用 互斥锁保护共享资源【多线程】  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Win11怎么打开旧版计算器_Win11恢复传统计算器应用【详解】  Go语言中正确反序列化多个同级XML元素为结构体切片的方法  Win10怎样卸载DockerDesktop_Win10卸载DockerDesktop步骤【步骤】  php删除数据怎么加限制_带where条件删除避免全删【指南】  Windows服务启动类型恢复方法_错误修改导致的系统服务异常  Win11如何更改任务栏颜色 Win11自定义任务栏背景色【美化】  如何在 Django 中安全修改用户密码而不使会话失效  Win11怎么关闭自动修复_跳过Win11开机自动修复循环【技巧】  如何在Golang中处理URL参数_Golang URL参数解析与路由映射方法  Win11怎么开启游戏模式_Windows11优化游戏帧数设置指南  Win11怎么恢复旧版开始菜单_通过软件还原Win10风格菜单【详解】  Win11文件夹预览图不显示怎么办_Win11缩略图缓存重建修复【教程】  Win11怎么设置夜间模式_Windows11显示设置蓝光过滤强度  c# 如何用c#实现一个支持优先级的任务队列  Windows的便笺功能如何使用?(桌面备忘技巧)  Mac的“调度中心”与“空间”怎么用_Mac多桌面高效管理【技巧】  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  php怎么下载安装后设置默认字符集_utf8配置步骤【详解】  Win11怎么更改默认打开方式_Win11关联文件格式教程【详解】  Win11怎么更改鼠标指针_Windows 11自定义鼠标样式与大小【美化】  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  如何在 Go 中正确测试带 Cookie 的 HTTP 请求  php下载安装包怎么选_threadsafe与nts版本差异【解答】  Windows怎样关闭锁屏广告_Windows关闭锁屏广告方法【教程】  php中$this和::能混用吗_对象与静态作用域冲突解决【方法】  VSC怎样用终端运行PHP_命令行执行脚本的步骤【教程】  Windows10怎么用“讲述人”读屏辅助 Windows10轻松使用开启讲述人朗读屏幕文字帮助视障用户【教程】  php本地部署后session无法保存_session存储路径与权限设置技巧【技巧】  如何使用Golang管理模块版本_Golanggo mod tidy与升级方法  Win11输入法选字框不见了怎么办_Win11输入法修复与重置【教程】  Windows系统被恶意软件破坏后的恢复策略_错误提示修复方式  Win11无法安装软件怎么办_Win11解除应用安装限制设置【修复】  Win11怎么设置虚拟键盘_打开Win11屏幕键盘操作指南【技巧】  Win10怎么卸载爱奇艺_Win10彻底卸载爱奇艺方法【步骤】  c# 在ASP.NET Core中管理和取消后台任务  如何在 Go 中正确反序列化多个同级 XML 元素(而非单个根节点)  Mac如何开启夜览模式_Mac护眼模式设置与定时  如何关闭Win10自动更新更新_Win10系统自动更新双重关闭技巧  LINUX下如何配置VLAN虚拟局域网_在LINUX交换机与服务器上的实现  Win11怎么恢复出厂设置_Win11重置此电脑保留文件方法【详解】  Win11怎么更改管理员名字 Win11修改账户名称详细步骤【教程】  Go 中 := 短变量声明的类型推导机制详解  Win11怎么设置默认邮件应用_Windows11应用关联Mail设置  手机php文件怎么变成mp4_安卓苹果打开php转mp4方法【教程】 

 2025-12-18

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

致胜网络推广营销网


致胜网络推广营销网

致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 915688610

 17370845950

 915688610@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.