Admin.UI/.eslintrc.js
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
module.exports = {
root: true,
parserOptions: {
parser: 'babel-eslint',
sourceType: 'module'
},
env: {
browser: true,
node: true,
es6: true
},
extends: ['plugin:vue/recommended', 'eslint:recommended'],
globals: {
_: 'readonly'
},
// add your custom rules here
// it is base on https://github.com/vuejs/eslint-config-vue
rules: {
'vue/max-attributes-per-line': [2, {
'singleline': 10,
'multiline': {
'max': 1,
'allowFirstLine': false
}
}],
'vue/singleline-html-element-content-newline': 'off',
'vue/multiline-html-element-content-newline': 'off',
'vue/name-property-casing': ['error', 'PascalCase'],
'vue/no-v-html': 'off',
'accessor-pairs': 2,
'arrow-spacing': [2, {
'before': true,
'after': true
}],
'block-spacing': [2, 'always'],
'brace-style': [2, '1tbs', {
'allowSingleLine': true
}],
'camelcase': [0, {
'properties': 'always'
}],
'comma-dangle': [2, 'never'],
'comma-spacing': [2, {
'before': false,
'after': true
}],
'comma-style': [2, 'last'],
'constructor-super': 2,
'curly': [2, 'multi-line'],
'dot-location': [2, 'property'],
'eol-last': 2,
'eqeqeq': ['error', 'always', { 'null': 'ignore' }],
'generator-star-spacing': [2, {
'before': true,
'after': true
}],
'handle-callback-err': [2, '^(err|error)$'],
'indent': [2, 2, {
'SwitchCase': 1
}],
后面还有 140 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
-
这个文件是 ADMIN.CORE 权限管理系统前端工程 Admin.UI 的 ESLint 配置文件,属于开发工具链的一部分,不参与业务运行。它决定了整个前端项目在编写 Vue 组件和 JavaScript 代码时必须遵守的语法与风格规则,是团队协作和代码质量的第一道关卡。 1. 基本定位与解析环境 - 文件通过 module.exports 导出一个配置对象,root 设为 true,表示这是 ESLint 配置的根,不会再向上层目录查找配置。 - parserOptions 指定用 babel-eslint 作为解析器,sourceType 为 module,说明项目使用 ES Module 语法,并且依赖 Babel 处理较新的 JS 特性。 - env 同时开启 browser、node 和 es6,意味着代码里可以直接使用浏览器全局对象、Node 全局变量以及 ES6 语法,不会因此报未定义错误。 2. 规则继承与全局变量 - extends 里引入了 plugin:vue/recommended 和 eslint:recommended 两套推荐规则,前者针对 Vue 单文件组件,后者是 ESLint 官方推荐的基础规则集。 - globals 把下划线声明为只读全局变量,通常对应 lodash 之类的工具库,说明项目里可能全局挂载了它,使用时不需要 import。 3. Vue 相关规则 - vue/max-attributes-per-line 限制单行标签最多 10 个属性,多行时每行最多 1 个属性,且首行不允许放属性,这是为了保持模板可读性。 - 单行和多行 HTML 元素内容换行两条规则被关闭,说明项目不强制标签内容必须换行,写法上更宽松。 - vue/name-property-casing 要求组件 name 用 PascalCase,vue/no-v-html 被关闭,意味着允许使用 v-html,这里要注意 XSS 风险,渲染用户输入时要自行过滤。 4. JavaScript 风格与质量规则 - 缩进统一为 2 个空格,SwitchCase 额外缩进 1 层;引号强制单引号,允许模板字符串;语句末尾不加分号。 - 逗号相关规则要求不留尾逗号、逗号后加空格、逗号写在行尾。 - 空格规则非常细致,包括箭头函数、关键字、括号内外、运算符、注释等,基本遵循主流 Vue 项目风格。 - 命名上 camelcase 被关闭,说明允许下划线命名;new-cap 要求构造函数首字母大写。 - 质量类规则大多为错误级别,比如禁止 eval、禁止重复声明、禁止未使用变量、禁止修改 const、禁止在 super 之前使用 this 等。 - no-console 被关闭,允许保留 console;no-debugger 则根据 NODE_ENV 判断,生产环境报错、开发环境放行。 - no-unused-vars 对参数不检查,只检查变量,避免回调函数里未使用参数频繁报错。 5. 值得注意的地方 - 这套配置整体偏严格,尤其空格和换行规则很多,新加入的开发者如果不熟悉容易频繁报错,建议配合编辑器的 ESLint 自动修复使用。 - 规则里对 Vue 模板的约束相对宽松,但对 JS 代码风格约束很细,
