一分钟带你快速了解Prettier+配置指南

什么是 Prettier

prettier是一个代码格式化工具,它可以支持JS/JSX/TS/Flow/JSON/CSS/LESS等文件格式。

安装依赖到开发环境

//npm
npm install --save-dev --save-exact prettier
//yarn
yarn add --dev --exact prettier

根目录下创建.prettierrc.js

点击查看官网完整配置
举个例子1:此处的规则供参考,可以根据个人习惯改写

module.exports = {printWidth: 100, //单行长度tabWidth: 2, //缩进长度useTabs: false, //使用空格代替tab缩进semi: true, //句末使用分号singleQuote: true, //使用单引号quoteProps: 'as-needed', //仅在必需时为对象的key添加引号jsxSingleQuote: true, // jsx中使用单引号trailingComma: 'all', //多行时尽可能打印尾随逗号bracketSpacing: true, //在对象前后添加空格-eg: { foo: bar }jsxBracketSameLine: true, //多属性html标签的‘>’折行放置arrowParens: 'always', //单参数箭头函数参数周围使用圆括号-eg: (x) => xrequirePragma: false, //无需顶部注释即可格式化insertPragma: false, //在已被preitter格式化的文件顶部加上标注proseWrap: 'preserve', //不知道怎么翻译htmlWhitespaceSensitivity: 'ignore', //对HTML全局空白不敏感vueIndentScriptAndStyle: false, //不对vue中的script及style标签缩进endOfLine: 'lf', //结束行形式embeddedLanguageFormatting: 'auto', //对引用代码进行格式化
};

举个例子2

module.exports = {printWidth: 200, //行宽semi: true, //分号singleQuote: true, // 使用单引号useTabs: false, //使用 tab 缩进tabWidth: 2, //缩进trailingComma: 'es5', //后置逗号,多行对象、数组在最后一行增加逗号arrowParens: 'avoid', //箭头函数只有一个参数的时候可以忽略括号bracketSpacing: true, //括号内部不要出现空格proseWrap: 'preserve', //换行方式 默认值。因为使用了一些折行敏感型的渲染器(如GitHub comment)而按照markdown文本样式进行折行parser: 'babylon', //格式化的解析器,默认是babylonendOfLine: 'auto', // 结尾是 \n \r \n\r autojsxSingleQuote: false, // 在jsx中使用单引号代替双引号jsxBracketSameLine: false, //在jsx中把'>' 是否单独放一行stylelintIntegration: false, //不让prettier使用stylelint的代码格式进行校验eslintIntegration: false, //不让prettier使用eslint的代码格式进行校验tslintIntegration: false, // 不让prettier使用tslint的代码格式进行校验disableLanguages: ['vue'], // 不格式化vue文件,vue文件的格式化单独设置htmlWhitespaceSensitivity: 'ignore',ignorePath: '.prettierignore', // 不使用prettier格式化的文件填写在项目的.prettierignore文件中requireConfig: false, // Require a 'prettierconfig' to format prettier
}

根目录下创建 .prettierignore 忽略不想格式化的文件

node_modules默认被忽略,忽略其他文件可以写在 .prettierignore

build
.cache# Ignore all HTML files:
*.html
*.yml
*.yaml

命令行格式化

格式化全部文档

npx prettier --write .
//或
yarn prettier --write .

Git提交代码 Commit 前执行 Prettier

安装husky 和 lint-staged

  • husky是帮助我们添加git hooks的工具
  • lint-staged则是筛选那些staged的git文件执行lint
npm install husky --save-dev --save-exact
npm install lint-staged --save-dev --save-exact

配置package.json

  "husky": {"hooks": {"pre-commit": "lint-staged"}},"lint-staged": {"*.{js,css,json,md}": ["prettier --write","git add"]}

其他补充

解决和eslint的冲突

  1. 安装 eslint-config-prettier 插件
npm i -D eslint-config-prettier
  1. 在eslint的配置文件中写入以下内容
 extends: ['plugin:prettier/recommended'], // 避免与 prettier 冲突

待继续补充

  • 今天就写到这里啦~
  • 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
  • 大家要天天开心哦

欢迎大家指出文章需要改正之处~
学无止境,合作共赢

在这里插入图片描述

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/133820.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无涯教程-JavaScript - ASIN函数

描述 ASIN函数返回给定数字的反正弦或反正弦,并返回以弧度表示的Angular,介于-π/2和π/2之间。 语法 ASIN (number)争论 Argument描述Required/OptionalNumberThe sine of the angle you want and must be from -1 to 1.Required Notes 如果您希望ASIN函数返回的Angular以…

XSS入门 XSS Challenges

level1(直接注入) <script>alert(xss)</script>level2(双引号闭合标签) 测试 <sCr<ScRiPt>IPT>OonN"\/(hrHRefEF)</sCr</ScRiPt>IPT>发现<>"被转换&#xff0c;构造新的语句 "><script>alert(/xss/)</…

基于永磁同步发电机的风力发电系统研究(Simulink实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

[Linux入门]---搭建Linux环境

1.Linux环境的搭建方式 使用Linux操作系统的三种途径&#xff1a; 1.直接安装在物理机上&#xff0c;但是由于 Linux 桌面使用起来非常不友好&#xff0c;不推荐。 2.使用虚拟机软件&#xff0c;将 Linux 搭建在虚拟机上&#xff0c;但是由于当前的虚拟机软件(如 VMWare 之类的…

python-爬虫-requests

安装模块 pip install requests在jupyter notebook里使用ShiftTab查看 requests requests库的主要方法 方法解释requests.requset()构造一个请求&#xff0c;支持以下各种方法requests.get()获取HTML的主要方法requests.head()获取HTML头部信息requests.post()向HTML网页提…

CNN(八):Inception V1算法实战与解析

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 1 Inception V1 Inception v1论文 1.1 理论知识 GoogLeNet首次出现在2014年ILSVRC比赛中获得冠军。这次的版本通常称其为Inception V1。…

基础版本抖音(字节跳动青训)

抖音基础版&#xff08;字节跳动青训项目&#xff09; 一、项目介绍 本抖音项目是基于grpc通讯协议开发的高性能微服务&#xff0c;不仅使用gin作为业务层框架&#xff0c;gorm框架作为持久层框架&#xff0c;还使用预编译sql防止sql注入&#xff0c;同时该项目结合连接池技术…

【C++】类和对象(中下)

前言&#xff1a; 上一篇文章&#xff0c;我们了解了类的默认成员函数——构造函数、析构函数、拷贝构造函数&#xff0c;这篇我们让我们接着了解。 一、赋值运算符重载&#xff1a; 1.运算符重载&#xff1a; C为了增强代码的可读性引入了运算符重载&#xff0c;运算符重载是…

【Linux从入门到精通】多线程 | 线程互斥(互斥锁)

上篇文章我们对线程 | 线程介绍&线程控制介绍后&#xff0c;本篇文章将会对多线程中的线程互斥与互斥锁的概念进行详解。同时结合实际例子解释了可重入与不被重入函数、临界资源与临界区和原子性的概念。希望本篇文章会对你有所帮助。 文章目录 引入 一、重入与临界 1、1 可…

HTML显示中文空格字符,emsp;一个中文字符,ensp;半个中文字符

&emsp;一个中文字符 &ensp;半个中文字符 <ul><li class"li">姓&emsp;&emsp;名&#xff1a;<input type"text" /></li><li class"li">手&ensp;机&ensp;号&#xff1a;<input type"…

react ant ice3 实现点击一级菜单自动打开它下面最深的第一个子菜单

1.问题 默认的如果没有你的菜单结构是这样的&#xff1a; [{children: [{name: "通用配置"parentId: "1744857774620672"path: "basic"}],name: "系统管理"parentId: "-1"path: "system"} ]可以看到每层菜单的p…

和数集团:我国区块链行业发展具有广阔前景

区块链技术正在引领全球新一轮技术变革和产业变革&#xff0c;推动“信息互联网”向“价值互联网”变迁。 公开资料显示&#xff0c;区块链是一种由多方共同维护&#xff0c;使用密码学保证传输和访问安全&#xff0c;能够实现数据一致存储、难以篡改、防止抵赖的记账技术&…

视频监控/安防监控/AI视频分析/边缘计算EasyCVR平台如何调取登录接口获取token?

安防视频监控管理平台/视频汇聚/视频云存储平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、云存储、AI智能分析等&#xff0c;视频监控智能分析平台EasyCVR融合性强、…

Gmail邮箱注册情况及最新动态

在中国大陆地区&#xff0c;对于是否可以注册Gmail邮箱一直存在一定的限制和讨论。准确来说&#xff0c;中国大陆地区的用户目前无法直接访问和注册Gmail邮箱。由于某些政策和技术原因&#xff0c;中国政府对于一些外国的网站和服务实施了网络封锁与限制。因此&#xff0c;中国…

地奥“畅依笙”革故鼎新,新品面市! 呵护肠胃 助力大健康!

根据平安健康发布的《2021国民肠道健康调研报告》&#xff0c;肠道问题逐渐年轻化&#xff0c;约90%的国人都会遇到肠道问题。我国肠胃终端产品持续热销&#xff0c;根据2021年淘宝天猫全年益生菌保健品/功能食品市场规模&#xff0c;销售额达63.2亿元&#xff1b;目前益生菌类…

密码学【一】

前言 在区块链的整个体系中大量使用了密码学算法&#xff0c;比如用于 PoW 的哈希算法&#xff0c;用于完整性验证的 Merkle Tree&#xff0c;用于交易签名与验证的数字签名算法&#xff0c;用于隐私保护的零知识证明等等。 可以说密码学是保证区块链安全的基石&#xff0c;而区…

JDK9特性——语法、API的改变

文章目录 语法层次改变钻石操作符号语法升级try结构语法升级下划线命名标识符的使用限制 API层次的改变接口中的私有方法String底层存储结构变化Stream新增4个APIInputStream新增transferTo方法只读集合创建 语法层次改变 钻石操作符号语法升级 钻石操作符&#xff0c;就是我…

css relative 和absolute布局

1、relative和absolute内部的元素都是相对于父容器&#xff0c;若父容器没有指定为relative&#xff0c;则默认为整个文档视图空间&#xff0c;absolute可以重叠元素&#xff0c;relative则不行。relative意味着元素的任意属性如left和right都是相对于其他元素的。absolute则相…

正确理解芯片解密,解除偏见

正确理解芯片解密&#xff0c;解除偏见 电子半导体技术在当今时代如日中天&#xff0c;许多行业都有着它的应用&#xff0c;芯片解密也不例外。那么什么是芯片解密&#xff1f;芯片解密是一种新兴的逆向工程技术&#xff0c;它利用半导体逆向技术来解密加密后的芯片&#xff0c…

华为开源自研AI框架昇思MindSpore应用案例:消噪的Diffusion扩散模型

目录 一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例 二、案例实现构建Diffusion模型位置向量ResNet/ConvNeXT块Attention模块组归一化条件U-Net正向扩散数据准备与处理采样训练过程推理过程&#xff08;从模型中采样&#xff09; 本文基于Hugging Face&#x…