代码美化工具。可用于扫描文件中的格式问题,并自动重新格式化代码,以确保缩进、间距、分号、单双引号等遵循一致的规则,可以将它看作升级版的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
b、依赖说明
| 依赖名称 | 说明 | 官网文档 |
| prettier | 格式化工具 | prettier.cn |
| eslint-config-prettier | eslint兼容插件 | |
| eslint-plugin-prettier | eslint的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}'",