当前位置:   article > 正文

eslint 配置_eslint v9.0配置

eslint v9.0配置

首先安装eslint

npm i eslint -D

生成配置文件:.eslint.cjs 【初始化一个eslint 的文件】

npx eslint --init

 

 

 

 

 

 

 

 安装配置完成之后,src文件夹下面会多一个

.eslintrc.cjs

文件——【就是eslint工作说明书,配置文件】

  1. module.exports = {
  2. //运行环境
  3. "env": {
  4. "browser": true,
  5. "es2021": true
  6. },
  7. //规则继承
  8. "extends": [
  9. "eslint:recommended",
  10. "plugin:@typescript-eslint/recommended",
  11. "plugin:vue/vue3-essential"
  12. ],
  13. //要为特定类型的文件指定处理器
  14. "overrides": [
  15. {
  16. "env": {
  17. "node": true
  18. },
  19. "files": [
  20. ".eslintrc.{js,cjs}"
  21. ],
  22. "parserOptions": {
  23. "sourceType": "script"
  24. }
  25. }
  26. ],
  27. //指定解析器:解析器
  28. //Esprima 默认解析器
  29. //Babel-ESLint babel解析器
  30. //@typescript-eslint/parser ts解析器
  31. //指定解析器选项
  32. "parserOptions": {
  33. "ecmaVersion": "latest",
  34. "parser": "@typescript-eslint/parser",
  35. "sourceType": "module"
  36. },
  37. //ESLint支持使用第三方插件。在使用插件之前,您必须使用npm安装它
  38. //该eslint-plugin-前缀可以从插件名称被省略
  39. "plugins": [
  40. "@typescript-eslint",
  41. "vue"
  42. ],
  43. //eslint规则
  44. "rules": {
  45. }
  46. }
'
运行
1.1vue3环境代码校验插件
  1. # 让所有与prettier规则存在冲突的Eslint rules失效,并使用prettier进行代码检查
  2. "eslint-config-prettier": "^8.6.0",
  3. "eslint-plugin-import": "^2.27.5",
  4. "eslint-plugin-node": "^11.1.0",
  5. # 运行更漂亮的Eslint,使prettier规则优先级更高,Eslint优先级低
  6. "eslint-plugin-prettier": "^4.2.1",
  7. # vue.jsEslint插件(查找vue语法错误,发现错误指令,查找违规风格指南
  8. "eslint-plugin-vue": "^9.9.0",
  9. # 该解析器允许使用Eslint校验所有babel code
  10. "@babel/eslint-parser": "^7.19.1",
安装指令
npm install -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin-node @babel/eslint-parser
1.2修改.eslintrc.cjs配置文件
  1. // @see https://eslint.bootcss.com/docs/rules/
  2. module.exports = {
  3. env: {
  4. browser: true,
  5. es2021: true,
  6. node: true,
  7. jest: true,
  8. },
  9. /* 指定如何解析语法 */
  10. parser: 'vue-eslint-parser',
  11. /** 优先级低于 parse 的语法解析配置 */
  12. parserOptions: {
  13. ecmaVersion: 'latest',
  14. sourceType: 'module',
  15. parser: '@typescript-eslint/parser',
  16. jsxPragma: 'React',
  17. ecmaFeatures: {
  18. jsx: true,
  19. },
  20. },
  21. /* 继承已有的规则 */
  22. extends: [
  23. 'eslint:recommended',
  24. 'plugin:vue/vue3-essential',
  25. 'plugin:@typescript-eslint/recommended',
  26. 'plugin:prettier/recommended',
  27. ],
  28. plugins: ['vue', '@typescript-eslint'],
  29. /*
  30. * "off" 或 0 ==> 关闭规则
  31. * "warn" 或 1 ==> 打开的规则作为警告(不影响代码执行)
  32. * "error" 或 2 ==> 规则作为一个错误(代码不能执行,界面报错)
  33. */
  34. rules: {
  35. // eslint(https://eslint.bootcss.com/docs/rules/)
  36. 'no-var': 'error', // 要求使用 let 或 const 而不是 var
  37. 'no-multiple-empty-lines': ['warn', { max: 1 }], // 不允许多个空行
  38. 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
  39. 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
  40. 'no-unexpected-multiline': 'error', // 禁止空余的多行
  41. 'no-useless-escape': 'off', // 禁止不必要的转义字符
  42. // typeScript (https://typescript-eslint.io/rules)
  43. '@typescript-eslint/no-unused-vars': 'error', // 禁止定义未使用的变量
  44. '@typescript-eslint/prefer-ts-expect-error': 'error', // 禁止使用 @ts-ignore
  45. '@typescript-eslint/no-explicit-any': 'off', // 禁止使用 any 类型
  46. '@typescript-eslint/no-non-null-assertion': 'off',
  47. '@typescript-eslint/no-namespace': 'off', // 禁止使用自定义 TypeScript 模块和命名空间。
  48. '@typescript-eslint/semi': 'off',
  49. // eslint-plugin-vue (https://eslint.vuejs.org/rules/)
  50. 'vue/multi-word-component-names': 'off', // 要求组件名称始终为 “-” 链接的单词
  51. 'vue/script-setup-uses-vars': 'error', // 防止<script setup>使用的变量<template>被标记为未使用
  52. 'vue/no-mutating-props': 'off', // 不允许组件 prop的改变
  53. 'vue/attribute-hyphenation': 'off', // 对模板中的自定义组件强制执行属性命名样式
  54. },
  55. }
'
运行
1.3.eslintignore忽略文件

在src文件夹下生成一个

.eslintignore   // 文件

  1. dist
  2. node_modules

写入

1.4运行脚本

package.json新增两个运行脚本

  1. "scripts": {
  2. "lint": "eslint src", //当运行指令的时候让eslint 校验src文件里面的文件语法
  3. "fix": "eslint src --fix", // 把不符合规则的语法进行修整
  4. }

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

闽ICP备14008679号