.eslintrc.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. module.exports = {
  2. //此项是用来告诉eslint找当前配置文件不能往父级查找
  3. root: true,
  4. //此项是用来指定eslint解析器的,解析器必须符合规则,babel-eslint解析器是对babel解析器的包装使其与ESLint解析
  5. //此项是用来指定javaScript语言类型和风格,sourceType用来指定js导入的方式,默认是script,此处设置为module,指某块导入方式
  6. parserOptions: {
  7. parser: 'babel-eslint',
  8. sourceType: 'module'
  9. },
  10. //此项指定环境的全局变量,下面的配置指定为浏览器环境
  11. env: {
  12. browser: true,
  13. node: true,
  14. jquery: true
  15. },
  16. // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
  17. extends: ['eslint:recommended', 'plugin:vue/essential'],
  18. // required to lint *.vue files
  19. // 此项是用来提供插件的,插件名称省略了eslint-plugin-,下面这个配置是用来规范html的
  20. plugins: ['vue', 'prettier'],
  21. // add your custom rules here
  22. // 下面这些rules是用来设置从插件来的规范代码的规则,使用必须去掉前缀eslint-plugin-
  23. // 主要有如下的设置规则,可以设置字符串也可以设置数字,两者效果一致
  24. // "off" -> 0 关闭规则
  25. // "warn" -> 1 开启警告规则
  26. //"error" -> 2 开启错误规则
  27. // 了解了上面这些,下面这些代码相信也看的明白了
  28. rules: {
  29. 'require-jsdoc': 0,
  30. 'valid-jsdoc': 0,
  31. // allow async-await
  32. 'generator-star-spacing': 'off',
  33. // allow debugger during development
  34. 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
  35. 'no-console': process.env.NODE_ENV === 'production' ? 0 : 0,
  36. // js语句结尾必须使用分号
  37. semi: ['off', 'always'],
  38. // 三等号
  39. eqeqeq: 0,
  40. // 强制在注释中 // 或 /* 使用一致的空格
  41. 'spaced-comment': 1,
  42. // 关键字后面使用一致的空格
  43. 'keyword-spacing': 1,
  44. // 强制在 function的左括号之前使用一致的空格
  45. 'space-before-function-paren': 0,
  46. // 禁止出现未使用过的变量
  47. 'no-unused-vars': 1,
  48. // 要求或禁止末尾逗号
  49. 'comma-dangle': 0
  50. }
  51. };