当前位置:   article > 正文

ESLint与Prettier基本配置_eslint prettier配置

eslint prettier配置

ESLint是可以用来作为一种代码规范的校验工具,而Prettier则是代码格式化工具,二者配合使用可以使得我们的代码更加的健壮,并且易于维护,

1、为什么要使用ESLint?

  ESLint可以为我们校验代码规范,帮助我们对不符合规范的代码进行提示,并且修改,比如:我不想在我的代码中使用var关键字,var会造成变量提升,而let则不会,并且拥有块作用域,所以我们可以设置 “no-var”:“1”来进行提示,当然也可以去继承某些规则,如vue的官方规则等,接下来讲一下如何去配置:

首先使用:

npm init @eslint/config

然后根据提示进行选择:

  1. # 如何使用Eslint
  2. ? How would you like to use ESLint? ...
  3. To check syntax only
  4. > To check syntax and find problems
  5. To check syntax, find problems, and enforce code style
  6. # 你的项目使用什么类型的模块
  7. ? What type of modules does your project use? ...
  8. > JavaScript modules (import/export)
  9. CommonJS (require/exports)
  10. None of these
  11. # 您的项目使用哪个框架?
  12. ? Which framework does your project use? ...
  13. React
  14. > Vue.js
  15. None of these
  16. # 是否使用TypeScript
  17. ? Does your project use TypeScript? » No / Yes
  18. # 你的代码在哪里运行?
  19. ? Where does your code run? ... (Press <space> to select, <a> to toggle all, <i> to invert selection)
  20. √ Browser
  21. √ Node
  22. # 你希望你的配置文件是什么格式?
  23. ? What format do you want your config file to be in? ...
  24. > JavaScript
  25. YAML
  26. JSON
  27. # 您现在要安装它们吗
  28. @typescript-eslint/eslint-plugin@latest eslint-plugin-vue@latest @typescript-eslint/parser@latest
  29. ? Would you like to install them now? » No / Yes

按照这种格式安装完成后会生成一个文件为.eslintrc.cjs

他的文件格式有很多,具体的我们可以去查看文档eslint,然后进入我们的配置文件,当前配置是默认的配置文件,我们需要将其修改为我们自己习惯的配置信息:

  1. module.exports = {
  2. root: true,
  3. env: {
  4. browser: true,
  5. node: true,
  6. es6: true,
  7. },
  8. extends: [
  9. 'plugin:vue/vue3-essential',
  10. 'eslint:recommended',
  11. '@vue/typescript/recommended',
  12. '@vue/eslint-config-typescript',
  13. '@vue/eslint-config-prettier/skip-formatting',
  14. 'prettier',
  15. ],
  16. parserOptions: {
  17. parser: '@typescript-eslint/parser',
  18. ecmaVersion: 2020,
  19. sourceType: 'module',
  20. jsxPragma: 'React',
  21. ecmaFeatures: {
  22. jsx: true,
  23. tsx: true,
  24. },
  25. },
  26. rules: {
  27. 'no-var': 1,
  28. 'no-debugger': 'off',
  29. //禁用 TypeScript ESLint 扩展中的显式 any 类型检查规则
  30. '@typescript-eslint/no-explicit-any': 'off',
  31. //可以省略对这些函数的返回类型和参数类型的显式注解
  32. '@typescript-eslint/explicit-module-boundary-types': 'off',
  33. 'vue/valid-template-root': 'off',
  34. 'vue/multi-word-component-names': 'off',
  35. 'vue/html-self-closing': [
  36. 'error',
  37. {
  38. html: {
  39. void: 'always',
  40. normal: 'always',
  41. component: 'always',
  42. },
  43. svg: 'always',
  44. math: 'always',
  45. },
  46. ],
  47. 'prettier/prettier': [
  48. 'error',
  49. {
  50. endOfLine: 'auto',
  51. },
  52. ],
  53. },
  54. };

然后,我们需要添加eslint忽略文件,他的格式和git忽略文件格式一致,为.eslintignore,添加完文件后,进行如下配置:

  1. .DS_Store
  2. node_modules
  3. dist
  4. dist-ssr
  5. *.local
  6. .npmrc

接下来我们进行Prettier的配置,

使用:

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

然后,会出现一个配置文件为.prettierrc,然后加入我们的配置内容:

  1. {
  2. "printWidth": 120,
  3. "tabWidth": 2,
  4. "useTabs": true,
  5. "semi": true,
  6. "singleQuote": true,
  7. "jsxSingleQuote": true,
  8. "bracketSpacing": true,
  9. "bracketSameLine": true,
  10. "arrowParens": "always",
  11. "insertPragma": false,
  12. "endOfLine": "auto"
  13. }

同时也需要配置忽略文件,.prettierignore,添加忽略配置:

  1. node_modules
  2. dist
  3. dist-ssr
  4. *.local
  5. .npmrc

然后这个时候会出现冲突,我们需要安装一个插件

npm install --save-dev eslint-config-prettier

然后回到我们的eslint配置中,我在extends选项中配置的prettier就起到了作用,可以忽略prettier的配置,这样我们就配置好了eslint和prettier,然后回到vscode中,在编辑器中右键->使用...格式化文档->配置默认格式化程序->prettier-code-fromatter,这样在我们保存的时候就会自动格式化文件了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/818007
推荐阅读
相关标签
  

闽ICP备14008679号