使用ESLint+Prettier来统一前端代码风格

amilytom 2021-10-13 14:17:00
前端 Vue.js prettier eslint vscode插件


在团队的项目开发过程中,代码维护所占的时间比重往往大于新功能的开发。因此编写符合团队编码规范的代码是至关重要的,这样做不仅可以很大程度地避免基本语法错误,也保证了代码的可读性。

解决办法

  • 使用 eslint 检查代码
  • 使用 prettier 格式化代码

使用方法

(1)首先安装Eslint:

npm install eslint --save-dev

新建.eslintrc.js文件,下面是我的配置:

module.exports = {
env: {
browser: true,
es2021: true,
},
extends: [
"eslint:recommended",
"plugin:prettier/recommended",
],
parserOptions: {
ecmaVersion: 12,
parser: 'babel-eslint',
sourceType: "module",
},
plugins: ["prettier"],
rules: {
"prettier/prettier": "error",
},
};

(2)安装Prettier:

npm install --save-dev --save-exact prettier

新建.prettierrc.js文件,下面是我的配置:

module.exports = {
// 一行最多 200 字符
printWidth: 200,
// 使用 2 个空格缩进
tabWidth: 4,
// 不使用缩进符,而使用空格
useTabs: false,
// 行尾不需要分号
semi: false,
// 使用单引号
singleQuote: true,
// 对象的 key 仅在必要时用引号
quoteProps: 'as-needed',
// jsx 不使用单引号,而使用双引号
jsxSingleQuote: false,
// 末尾不需要逗号
trailingComma: 'none',
// 大括号内的首尾需要空格
bracketSpacing: true,
// jsx 标签的反尖括号不需要换行
jsxBracketSameLine: true,
// 箭头函数,只有一个参数的时候,也需要括号
arrowParens: 'always',
// 每个文件格式化的范围是文件的全部内容
rangeStart: 0,
rangeEnd: Infinity,
// 不需要写文件开头的 @prettier
requirePragma: false,
// 不需要自动在文件开头插入 @prettier
insertPragma: false,
// 使用默认的折行标准
proseWrap: 'preserve',
// 根据显示样式决定 html 要不要折行
htmlWhitespaceSensitivity: 'css',
endOfLine: 'lf',
extends: ['plugin:prettier/recommended', 'prettier/flowtype', 'prettier/vue']
}
版权声明
本文为[amilytom]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000040805834

  1. 五分鐘掌握用Vue脚手架搭建一個完整項目!
  2. ant design vue 設置錶格選擇框,全選按鈕選不全
  3. Cinq minutes pour construire un projet complet avec l'échafaudage vue!
  4. vuex中助手函数的几种使用技巧总结
  5. La nouvelle voiture roule à grande vitesse, le tableau de bord apparaît "tasse de café" prompt, directement au magasin 4S!
  6. Résumé de plusieurs techniques d'utilisation de la fonction Helper dans vuex
  7. Un disciple féminin est venu à guozijian: Zhuo Wenyuan a été complètement noirci, et le frère aîné de sang qi a été blessé par lui!
  8. JavaScript - - quatre façons de juger les types de données
  9. HTTPS|SSL笔记-SSL分手过程(Encrypted Alert)
  10. The film arrangement rate exceeds 40%, and the box office exceeds 390 million in less than two days! Why is Changjin lake?
  11. Nouvelle grande expérience de prise de vue en direct 2022 Geely Howe
  12. Apprenez à connaître CSS - Comment organiser votre code CSS
  13. Can the Zero run C11 with less than 200000 become the leader of medium-sized pure electric SUV?
  14. Https | SSL Notes - SSL break Process (encrypted Alert)
  15. HTTPS|SSL筆記-SSL分手過程(Encrypted Alert)
  16. Récemment, j'a i été interrogé par des fans sur les génériques Java, donc j'ai regardé en arrière et j'espère que l'entrevue de mon frère cadet se passera bien.
  17. Comment utiliser la nouvelle spécification es dans votre projet
  18. JavaScript - - orienté objet
  19. South Korean actress Liu Renna, wearing a white strapless skirt and walking on the red carpet, has a hot body and attracts eyes. She smiles so sweet
  20. Nginx (3): process model
  21. Projet Java: système de gestion du rendement des employés (Java + SSM + MySQL + Maven + HTML)
  22. CSS tips | one line of code to realize the integration of avatar and national flag
  23. Maotai and Paris Fashion Week joined hands to make Chinese elements appear on the show
  24. Wang Xiaoya showed up in a sleeveless skirt and reappeared her intellectual elegance. She was still full of temperament after leaving the nest CCTV
  25. Comment écrire un document de conception frontale
  26. Créer une api javascript haute performance avec Rust et l'exécuter dans webassembly
  27. Analyse de certains principes techniques clés du SDK de surveillance frontale
  28. Point de vue: la NFT de type portrait a formé un modèle d'entreprise. Quelles sont ses perspectives d'avenir et ses difficultés?
  29. Stars celebrate the motherland's birthday in patterns: Tang Yan Bixin, Liu Xiaoqing in military uniform, Zhao Liying and he Jiong send blessings
  30. L'amour entre Wing Mei et Luan Tree: de l'amour à première vue à l'amour éternel
  31. Disappeared car companies: tape measure is useless? Zhongtai is on the verge of death and has no way to return to heaven
  32. BUUCTF [极客大挑战 2019]Http
  33. element缓存到本地使用
  34. How can the volunteer army with less steel and more gas beat the American army with more steel and less gas? Changjin Lake gives you the answer
  35. CentOS installation source package nginx error
  36. Mise en cache des éléments pour utilisation locale
  37. Disappeared car companies: tape measure is useless? Zhongtai is on the verge of death and has no way to return to heaven
  38. He saifei est si naturel!58 ans est si beau, porter des vêtements de vieillesse pour accepter de vieillir!
  39. Finally pregnant! Seven years of pregnancy, collective blessing of the entertainment industry
  40. Wu Qili sent blessings on the national day. She looked haggard and thin on her own. It was worrying
  41. Error in spring source code compilation: the monoprocessor in reactor.core.publisher is outdated
  42. Buctf [geek Challenge 2019] http
  43. 20 个值得学习的 Vue 开源项目
  44. 20 projets open source à apprendre
  45. Scène et application de la manette des gaz anti - bavardage
  46. Qu'est - ce que j'ai gagné en abandonnant vue pour les six mois de React?
  47. À partir de [Bytecode cache] et de [http cache], intervieweur: « est - ce si mince? »
  48. [niveau intermédiaire et avancé] obligatoire, 30 + questions manuscrites à haute fréquence et réponses détaillées (dix mille caractères longs), voyez comment "vous" ne pouvez pas m'abattre
  49. Mise en œuvre d'un outil d'échafaudage universel pour l'ingénierie Web de 0 à 1
  50. 【中高级前端】必备,30+高频手写题及详细答案(万字长文),看“你”怎么难倒我
  51. In less than two days, the box office exceeded 400 million, and Changjin Lake broke out, breaking seven records in Chinese film history
  52. Tong Liya Jin Chen bumps her hair, Xie Na Zhao Liying bumps her shirt, and she sees EQ from the reaction
  53. react之组件生命周期
  54. L'équipe de vue dévoile un nouvel outil d'échafaudage rapide comme la foudre Create View, qui remplacera la vue CLI à l'avenir, avec seulement 300 lignes de code, apprenez - le!
  55. 20 dessins illustrant le fonctionnement du moteur de rendu du Navigateur
  56. In less than two days, the box office exceeded 400 million, and Changjin Lake broke out, breaking seven records in Chinese film history
  57. 千锋重庆web前端学习之理解CSS位置属性
  58. 什么是语义HTML标记以及如何使用它们?
  59. Si vous vous représentez avec un tableau, c'est le champ de Van Gogh.
  60. 前端面试手写代码