Prettier

199 阅读2分钟

代码美化工具。可用于扫描文件中的格式问题,并自动重新格式化代码,以确保缩进、间距、分号、单双引号等遵循一致的规则,可以将它看作升级版的editorconfig,但Prettier的使用方式更加多元化,对于排版格式的控制粒度也更细,支持命令行、nodeAPI、ESLint插件等多种引入方式,是一个非常适合前端开发的新秀工具

一、前端代码格式化工具

1、安装

a、安装命令

pnpm add prettier -D
pnpm add eslint-config-prettier -D
pnpm add eslint-plugin-prettier -D

或者

pnpm add prettier eslint-config-prettier eslint-plugin-prettier -D

截屏2022-09-05 23.47.07.png

b、依赖说明

依赖名称说明官网文档
prettier格式化工具prettier.cn
eslint-config-prettiereslint兼容插件
eslint-plugin-prettiereslint的prettier

2、.prettierrc

a、配置参数

// 一行最多 100 字符
printWidth: 100,
// 关闭 tab 缩进
useTabs: false,
// 使用 2个tab 缩进
tabWidth: 2,
// 行尾需要有分号
semi: true,
// 使用单引号
singleQuote: true,
// 对象key是否使用引号 <as-needed|consistent|preserve>
// as-needed 仅在需要的时候使用
// consistent 有一个属性需要引号,就都需要引号
// preserve 保留用户输入的情况
quoteProps: 'preserve',
// jsx 使用单引号代替双引号
jsxSingleQuote: false,
// 末尾不需要逗号 <es5|none|all>
trailingComma: 'none',
// 大括号内的首尾需要空格
bracketSpacing: true,
// jsx 标签的反尖括号需要换行
jsxBracketSameLine: false,
// 箭头函数,只有一个参数的时候,也需要括号 <always|avoid>
arrowParens: 'avoid',
// 每个文件格式化的范围是文件的全部内容
rangeStart: 0,
rangeEnd: Infinity,
// 不需要写文件开头的 @prettier 用于逐步过渡大型项目中未被格式化的代码标识
requirePragma: false,
// 不需要自动在文件开头插入 @prettier 用于逐步过渡大型项目中未被格式化的代码标识
insertPragma: false,
// 使用默认的折行标准
proseWrap: 'preserve',
// 根据显示样式决定 html 要不要折行 <css|strict|ignore>"
htmlWhitespaceSensitivity: 'css',
// 换行符使用 lf 结尾  <lf|crlf|cr|auto>
endOfLine: 'lf',
embeddedLanguageFormatting: 'off',

b、自定义配置

{
  "useTabs": false,
  "tabWidth": 2,
  "semi": true,
  "singleQuote": true,
  "jsxSingleQuote": true,
  "trailingComma": "none",
  "bracketSpacing": true,
  "jsxBracketSameLine": false,
  "arrowParens": "always",
  "quoteProps": "as-needed",
  "printWidth": 80
}

3、.prettierignore

node_modules
dist

4、在 package.json scrips 添加脚本

"format": "'prettier --write './**/*.{html,vue,js,jsx,ts,tsx,json}'",