痛点:多人开发时常常碰到,每个人的格式的化的工具,千差万别,一次格式化,就把不是你改的代码,git提交是被你重新换了格式上传了,这不便于查看个人的代码提交。

解决方式:统一开发工具,使用vscode ,再使用统一的格式化工具

试想一个多人开发的项目,每次同步代码,看到各个风格迥异,换行空格混乱,4格,2格缩进交替上演的代码文件,分分钟逼死强迫症啊。忍无可忍只能拔枪相见了~~。统一的代码风格规范,对于多人开发的大项目一定是必不可少的,但是口头约定又是一定没有用的(nice脸)。这时候就需要Prettier上场了,一个配置文件,配合VScode,保存即格式化,你的同事都不需要知道代码风格是什么,,整个团队只要clone项目,自动保持统一风格。搞定!

Prettier是什么

Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.

以上是github上的官方解释,其实就是简单的代码格式工具,和esLint不同在于,ESLint只是一个代码质量工具(确保没有未使用的变量、没有全局变量,等等)。而Prettier只关心格式化文件(最大长度、混合标签和空格、引用样式等)。可见,代码格式统一的问题,交给Prettirer再合适不过了。和Eslint配合使用,风味更佳。

Prettier怎么用

  • 编辑器插件
  • CLI命令行

编辑器

这里介绍VSCode中如何配置Prettier

  • 安装 Prettier插件 Prettier - Code formatter
    安装插件后,调出系统设置就能看到prettier相关选项了,如图
  • 添加自定义配置文件.prettierrc
    作为项目的整体代码规范,如果依赖本地配置,显然是不科学的,所以需要.prettierrc 文件覆盖本地配置。我的配置文件如下

       {"singleQuote": true,"trailingComma": "es5","printWidth": 140,"overrides": [{"files": ".prettierrc","options": { "parser": "json" }}]}
    

到此,prettier安装完毕,使用shift+alt+f就可格式化代码。当然每次手动格式化还是很费力啊,怎么办?自动保存。系统设置中增加"editor.formatOnSave": true即可自动保存,还要注意的一点是,如果同时设置了"files.autoSave": "autoSaveDelay",保存及格式化会失效。files.autoSave配置成别的选项即可。

另外,如果项目配置了.editorConfig文件,在配置了"editor.formatOnSave": true后,如果项目成员没有安装 Prettier 插件,保存时就会读取.editorConfig文件,同样可以格式化代码。启用 Prettier 插件后,.editorConfig的配置就会失效,读取.prettierrc 文件的配置

命令行

命令行用法需要安装prettier,npm install prettier --save-dev,使用prettier write **.js 就可以格式化文件。将添加到你的NPM脚本中,prettier --write './src/**/*.js,这样就可以批量格式化项目中的所有文件了。

结语

prettier只关心代码格式,显然是不够的。项目中还是要引入ESlint。两者配合才能使项目代码优雅健壮

前端多人开发统一代码格式化工具相关推荐

  1. idea findbugs使用_IDEA如何协同开发统一代码风格?编码不规范如何解决?

    作为一个开发程序员最根本的是什么? 最基础的是代码编写 如何编写高质量,可靠的,规范的代码,是作为一名合格程序员的基础和根本 阿里被称为互联网界的黄埔军校, <阿里巴巴 java 开发手册> ...

  2. 使用 Eslint + husky + lint-staged + Prettier 提高前端项目质量、统一项目代码风格

    使用 Eslint + husky + lint-staged + Prettier 提高前端项目质量.统一项目代码风格 Eslint 代码检查,编辑器启用 Eslint 之后,不符合规范的会自动进行 ...

  3. 黑马前端h5团队开发代码规范

    黑马前端h5团队开发代码规范 1. 概述 欢迎使用品优购代码规范, 这个是我借鉴京东前端代码规范,组织的品优购内部规范.旨在增强团队开发协作.提高代码质量和打造开发基石的编码规范, 以下规范是团队基本 ...

  4. 《Web前端设计与开发-HTML+CSS+JavaScript+HTML 5+jQuery》-漫步时尚广场代码-1

    Web前端设计与开发-课后任务-漫步时尚广场代码 第一章 任务1-1 任务1-2 任务1-3 任务1-4 第一章 图片素材路径根据实际情况进行修改 任务1-1 <!--菜单导航栏 start-- ...

  5. 【项目篇】Android团队项目开发之统一代码规范

    前言 团队项目开发前的统一三要素:统一需求/开发文档,统一代码规范,统一环境(编译/测试/发布). 一个项目团队,要想有高效的产出,必须在团队协作上下好功夫,必须在项目开发统一进度上做好协调.只有在高 ...

  6. Git实战技巧-多人协作开发出现代码冲突,如何合并代码

    Git实战技巧-多人协作开发出现代码冲突,如何合并代码 1.企业场景 小智和小黑两个人交叉修改同一个文件,这个时候小智修改完提交.问题来了,如果小智提交成功,那么就相当于忽略了小黑提交的内容.这个时候 ...

  7. 前端通过eslint+prettier+husky统一代码风格

    背景 多人协作项目,会遇到每个人都有自己的代码风格.所以需要通过工具来统一代码风格. husky是什么? 当您提交或推送时,您可以使用 husky 来检查您的提交消息.运行测试.检查代码等Husky ...

  8. 企业微信开发/主要代码分享(前端)

    前端起步 这次开发主要是自建应用/H5/Vue2 因为用的是自建应用H5,所以第一步考虑的是企微中jssdk的使用 1.利用vue的mixin方法和js类的方法写两个个公共组件(可以下载任意目录下) ...

  9. 《Web前端设计与开发-HTML+CSS+JavaScript+HTML 5+jQuery》-漫步时尚广场代码-6

    Web前端设计与开发-课后任务-漫步时尚广场任务第五章源码 前台模块 shoppingShow_goods.html shoppingShow_goods_byScript.html 后台模块 css ...

  10. 《Web前端设计与开发-HTML+CSS+JavaScript+HTML 5+jQuery》-漫步时尚广场代码-2

    Web前端设计与开发-课后任务-漫步时尚广场任务源码 第二章 任务2-1 任务2-2 top.html left.html shop_search.html foodlist.html main.ht ...

最新文章

  1. python 发布包_如何将自己的Python包发布到PyPI
  2. Delphi中DLL封装业务逻辑的实现
  3. Hi3516A开发--目录分析
  4. ubuntu配置×××后,配置走×××的路线
  5. SMTP协议原始命令码和工作原理
  6. c语言 拆分 文件,linux 将一个大文件分割成小的碎片文件 命令:csplit
  7. java工作笔记020---Java中的关键字 transient
  8. 【共生性】CVPR 2019:Multi-Label Image Recognition with Graph Convolutional Networks
  9. XML与HTML区别
  10. 社会工程学读书[1]
  11. 基于区块链技术的航运贸易流程研究
  12. 华为U8500刷了2.2后自定义铃声,短信通知音,闹铃音的方法
  13. 杨令云玩过的那些FC游戏-英烈群侠传(一)
  14. 【Python 爬虫教程】代理ip网站有哪些?
  15. 如果世界上的男人们都在数据库中……
  16. 假设检验中两类错误及最小样本量计算
  17. PMBOK6 核对单和核查表的区别
  18. 解决Iframe嵌入帆软BI系统后,Chrome升级后跨域出现登录界面,Cookie写入不成功。
  19. 在Nignx增加http2模块顺便聊聊HTTP的八卦
  20. 通用的WAN协议配置

热门文章

  1. yolov3 使用darknet的python接口使用
  2. Python科学计算——Numpy.genfromtxt
  3. C++ 继承语法及修饰符
  4. *** ERROR L107: ADDRESS SPACE OVERFLOW
  5. antd 的form 表单怎么回显数据_antd design Form动态增减表单项(多个),组装数据及编辑回显,选择初始值,控制添加减少表单项数量等...
  6. 密码库LibTomCrypt学习记录——目录
  7. 怎么获取layer中的表单值_layui抓取表单数据
  8. mysql导出数据库视频教程_Navicat怎样导入导出sql文件?(图文步骤+视频教程)...
  9. c语言设计题库及详解答案,c语言程序设计题库及其答案
  10. 电脑下载的准考证去哪里了