前端工具 Prettier 详细使用流程(兼容ESLint)

简介: 前端工具 Prettier 详细使用流程(兼容ESLint)

一、简介

  • 中文文档英文官网
  • Prettier 是一个开箱即用的代码格式化程序。用来批量处理旧代码的统一,涉及引号、分号、换行、缩进等。支持目前大部分语言处理,包括 JavaScriptFlowTypeScriptCSSSCSSLessJSXVueGraphQLJSONMarkdown ,它通过解析代码并使用自己的规则。

二、安装使用

  • vscode 需开启保存配置

  • 安装方式:
  • 方式一vscode 安装插件 Prettier,正常在项目文件根目录添加配置文件即可,会自动检测。
  • 方式二npm
    sh $ npm install --save-dev --save-exact prettier
  • 方式三yarn
    sh $ yarn add --dev --exact prettier
  • 配置文件有很多种写法,选一种就行,不用纠结,没必要给自己挖坑!
  • 有安装 ESLint 的情况下,可以尝试将 Prettier 的配置偏向 ESLint 的校验结果。列一下常见的冲突点:
    sh 1、prettier 会默认把单引号变成双引号,然后 eslint 校验报错 2、js 每行代码后面会加一个分号,然后 eslint 校验报错 3、函数结束之后会加一个逗号,然后 eslint 校验报错 ......
    在项目根目录创建 .prettierrc.js,添加自己需要的配置,这里列了一下常用配置,包含上面冲突点的兼容,其他配置自动可额外添加(附:官方文档支持的配置属性)
    js module.exports = { printWidth: 100, tabWidth: 2, // 超过最大值换行 semi: false, // 结尾不用分号 singleQuote: true, // 使用单引号 disableLanguages: ['vue'], // 不格式化 vue 文件,vue 文件的格式化单独设置 htmlWhitespaceSensitivity: 'ignore', // 标签换行不完整问题 trailingComma: 'none', // 函数后面不加逗号,如果不写这一个,在methods 最后一个函数也会加逗号,eslint会报错,多了一个逗号 }
  • 项目中配置好之后,Ctrl + SCommand + S 保存
    如果保存无效,并没有进行格式化,在代码中右键菜单中,找到 使用...格式化文档 修改格式化文档方式为 Prettier,然后再次尝试保存,或者在右键菜单中直接点击 格式化文档
  • 可以忽略指定文件夹或文件中代码不进行格式化,以免提交出现冲突,创建 .prettierignore 文件,它使用的是 gitignore 语法
    ```sh
    Ignore artifacts:
    build coverage
    Ignore all HTML files:
    *.html ```

三、补充

  • 基本配置效果对比
    js { // tab 缩进大小,默认为 2 "tabWidth": 4, // 使用 tab 缩进,默认 false "useTabs": false, // 使用分号, 默认 true "semi": false, // 使用单引号, 默认 false (在 jsx 中配置无效, 默认都是双引号) "singleQuote": false, // 行尾逗号,默认 none ,可选 none|es5|all // es5 包括 es5 中的数组、对象 // all 包括函数对象等所有可选 "TrailingCooma": "all", // 对象中的空格 默认true // true: { foo: bar } // false: {foo: bar} "bracketSpacing": true, // JSX 标签闭合位置 默认 false // false: <div // className="" // style={{}} // > // true: <div // className="" // style={{}} > "jsxBracketSameLine": false, // 箭头函数参数括号 默认 avoid 可选 avoid| always // avoid 能省略括号的时候就省略 例如x => x // always 总是有括号 "arrowParens": "avoid" }
  • vscode 安装插件之后,除了在项目中添加配置文件之外,也可以直接配置到 vscode 的配置文件( settings.json )中,这样就不需要每个项目添加配置文件了

js // prettier配置,,修改了配置文件,必须重启 vscode 才会生效 "prettier.configPath": "/Users/xxx/Desktop/Project/npm/dts-gen/.prettierrc.js", // 配置文件路径,配置了这个路径,就不需要单个配置了,要不然会覆盖 "eslint.alwaysShowStatus": true, // 总是显示 eslint 状态 "prettier.printWidth": 120, // 超过最大值换行 "prettier.tabWidth": 2, // 缩进字节数 "prettier.useTabs": false, // 缩进不使用 tab,使用空格 "prettier.semi": true, // 句尾添加分号 "prettier.singleQuote": true, // 使用单引号代替双引号 "prettier.proseWrap": "preserve", // 默认值。因为使用了一些折行敏感型的渲染器(如 GitHub comment)而按照 markdown 文本样式进行折行 "prettier.arrowParens": "avoid", // (x) => {} 箭头函数参数只有一个时是否要有小括号。avoid:省略括号 "prettier.bracketSpacing": true, // 在对象,数组括号与文字之间加空格 "{ foo: bar }" "prettier.endOfLine": "auto", // 结尾是 \n \r \n\r auto "prettier.eslintIntegration": false, // 不让 prettier 使用 eslint 的代码格式进行校验 "prettier.htmlWhitespaceSensitivity": "ignore", // 标签换行不完整问题 "prettier.ignorePath": ".prettierignore", // 不使用 prettier 格式化的文件填写在项目的.prettierignore文件中 "prettier.BracketSameLine": false, // 在 jsx中 把 '>' 是否单独放一行 "prettier.jsxSingleQuote": false, // 在 jsx 中使用单引号代替双引号 // "prettier.parser": "babylon", // 格式化的解析器,默认是 babylon "prettier.requireConfig": false, // Require a 'prettierconfig' to format prettier "prettier.stylelintIntegration": false, // 不让 prettier 使用 stylelint 的代码格式进行校验 "prettier.trailingComma": "none", // 属性值 es5 表示在对象或数组最后一个元素后面是否加逗号(在ES5中加尾逗号) "prettier.tslintIntegration": false, // 不让 prettier 使用 tslint 的代码格式进行校验

相关文章
|
2月前
|
前端开发 JavaScript 开发者
前端项目代码规范工具 (ESLint. Prettier. Stylelint. TypeScript)
前端项目代码规范工具 (ESLint. Prettier. Stylelint. TypeScript)
171 4
|
3月前
|
JavaScript 测试技术 开发者
确定 Babel 插件的功能是否符合项目需求
【10月更文挑战第25天】细致的评估方法,可以较为准确地确定 Babel 插件的功能是否真正符合项目需求,从而为项目选择合适的插件,保障项目的顺利开发和高质量交付。
|
9月前
|
JSON 资源调度 前端开发
前端工具 Prettier 详细使用流程(兼容ESLint)
前端工具 Prettier 详细使用流程(兼容ESLint)
297 0
|
4月前
|
JavaScript 前端开发 开发者
如何在 VSCode 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升团队协作效率和代码质量。
【10月更文挑战第9天】随着前端开发技术的发展,代码规范和格式化工具变得至关重要。本文介绍如何在 VSCode 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升团队协作效率和代码质量。通过安装插件、配置 ESLint 和 Prettier,以及设置 VSCode,实现代码实时检查和格式化,确保代码风格一致。
1030 2
|
9月前
|
前端开发 程序员 项目管理
Nuxt3 实战 (二):配置 Eslint、Prettierrc、Husky等项目提交规范
这篇文章介绍了项目规范的重要性和如何配置一些工具来提高代码质量、团队协作、降低维护成本、提升软件可靠性和促进项目管理。工具介绍了Eslint和Prettier,并且提供了安装和配置的步骤。文章还提到了如何配置Husky和Commitlint来检查提交风格的规范性,并最后提到了需要使用 release-it 自动管理版本号和生成 CHANGELOG 的任务。
226 0
Nuxt3 实战 (二):配置 Eslint、Prettierrc、Husky等项目提交规范
|
8月前
|
JavaScript 前端开发
【前端 - Vue】关于ESlint代码规范及格式化插件
【前端 - Vue】关于ESlint代码规范及格式化插件
|
9月前
|
JavaScript 前端开发
koa开发实践1:基于 gulp 搭建 typescript 自动构建环境
koa开发实践1:基于 gulp 搭建 typescript 自动构建环境
209 0
|
资源调度 前端开发 JavaScript
【前端规范全攻略】开启高效开发之旅!ESLint + Prettier + husky + lint-staged+Commitizen
如何统一代码风格,规范提交呢? 推荐使用`前端规范全家桶` ESLint + Prettier + husky + lint-staged。
570 0
|
JavaScript 前端开发
ESLint 和 Prettier 配置冲突解决方案
ESLint 和 Prettier 配置冲突解决方案
|
JavaScript 前端开发
从0搭建Vue3组件库(十一): 集成项目的编程规范工具链(ESlint+Prettier+Stylelint)
从0搭建Vue3组件库(十一): 集成项目的编程规范工具链(ESlint+Prettier+Stylelint)
300 0