4 Star 0 Fork 0

鸿基梦 / MTools-Admin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
.eslintrc.js 7.39 KB
一键复制 编辑 原始数据 按行查看 历史
鸿基梦 提交于 2020-03-06 23:01 . 添加常用组件和优化路由
/*
* ESLint的JSON文件是允许JavaScript注释的,但在gist里显示效果不好,所以我把.json文件后缀改为了.js
* https://eslint.bootcss.com/docs/user-guide/configuring/
*/
/*
* ESLint 配置文件优先级:
* .eslintrc.js(输出一个配置对象)
* .eslintrc.yaml
* .eslintrc.yml
* .eslintrc.json(ESLint的JSON文件允许JavaScript风格的注释)
* .eslintrc(可以是JSON也可以是YAML)
* package.json(在package.json里创建一个eslintConfig属性,在那里定义你的配置)
* ESLint 支持使用第三方插件。在使用插件之前,你必须使用 npm 安装它。
* 在配置文件里配置插件时,可以使用 plugins 关键字来存放插件名字的列表。插件名称可以省略 eslint-plugin- 前缀。
*/
module.exports = {
// ESLint 一旦发现配置文件中有 "root": true,它就会停止在父级目录中寻找。
root: true,
// 一个环境定义了一组预定义的全局变量
env: {
browser: true // 浏览器环境中的全局变量。
},
// 一个配置文件可以从基础配置中继承已启用的规则。
// extends 属性值可以省略包名的前缀 eslint-config-。
extends: [
// plugin:包名 (省略了前缀,比如,vue)/配置名称 (比如 recommended)
'plugin:vue/recommended',
'standard'
],
// parserOptions 设置语法解析器的一些配置。
parserOptions: {
ecmaVersion: 6, // 指定ECMAScript支持的版本,6为ES6
parser: 'babel-eslint', // 使用babel-eslint解析脚本默认使用esprima
sourceType: 'module' // 指定来源的类型,有两种”script”或”module”
},
// 如果你想指定这些变量不应被重写(只读),你可以将它们设置为 false
// 在配置文件里配置全局变量时,使用 globals 指出你要使用的全局变量。将变量设置为 true 将允许变量被重写,或 false 将不允许被重写。
globals: {
'$': false,
'BMap': false
},
// 使用第三方插件 (插件名称可以省略 eslint-plugin- 前缀。)
plugins: ['vue', 'html'],
/** ESLint 附带有大量的规则。你可以使用注释或配置文件修改你项目中要使用的规则。要改变一个规则设置,你必须将规则 ID 设置为下列值之一:
* "off" 或 0 - 关闭规则
* "warn" 或 1 - 开启规则,使用警告级别的错误:warn (不会导致程序退出)
* "error" 或 2 - 开启规则,使用错误级别的错误:error (当被触发的时候,程序会退出)
*/
rules: {
// js https://eslint.bootcss.com/docs/rules/
/**
* 命名函数表达式括号前禁止有空格,箭头函数表达式括号前面必须有一个空格
* @category Stylistic Issues
* @fixable
*/
'space-before-function-paren': ['error', {
anonymous: 'ignore',
named: 'never',
asyncArrow: 'always'
}],
/**
* 变量名必须是 camelcase 风格的
* @category Stylistic Issues
* @reason 很多 api 或文件名都不是 camelcase
*/
'camelcase': 'off',
/**
* 禁止出现 foo['bar'],必须写成 foo.bar
* @category Best Practices
* @reason 当需要写一系列属性的时候,可以更统一
* @fixable
*/
'dot-notation': 'off',
/**
* 禁止出现没必要的转义
* @category Best Practices
* @reason 转义可以使代码更易懂
*/
'no-useless-escape': 'off',
/**
* Promise 的 reject 中必须传入 Error 对象,而不是字面量
* @category Best Practices
*/
'prefer-promise-reject-errors': 'error',
/**
* 禁止将 async 函数做为 new Promise 的回调函数
* @category Possible Errors
* @reason 出现这种情况时,一般不需要使用 new Promise 实现异步了
*/
'no-async-promise-executor': 0,
// vue https://vuejs.github.io/eslint-plugin-vue/rules/
/**
* 该规则旨在防止在同一元素上同时使用v-for指令和v-if指令。
* @category Best Practices
* @reason 有的时候需要同一个元素做使用这两个指令
*/
'vue/no-use-v-if-with-v-for': 0,
/**
* 此规则确保在组件中保持已声明的属性顺序。推荐的属性顺序可以在这里找到。
* 按照规则是应该遵循声明顺序的,但是项目中有太多地方使用声明顺序不同
* 如果项目中错误的地方少可以延续这种模式
*/
'vue/order-in-components': 0,
/**
* 该规则强制规定props语句包含类型定义。
* 项目太多组件为声明,强烈要求按照声明走
*/
'vue/require-prop-types': 0,
/**
* 该规则报告所有使用v-html指令的情况
* 以减少将潜在的不安全/未转义的html注入浏览器导致跨站点脚本攻击(XSS)的风险。
* 有的时候需要使用这种方法将后端传递过来的html渲染成页面
*/
'vue/no-v-html': 0,
/**
* 该规则在单线元素的内容之前和之后执行换行。
* 如果标签长度很少,一行是一个美观的呈现
*/
'vue/singleline-html-element-content-newline': 0,
/**
* 此规则旨在加强名称属性大小写的样式,以保持一致性。
* 有的时候我们喜欢将组件名首字母大写来命名
*/
'vue/name-property-casing': 0,
/**
* 验证每行的属性数不超过定义的最大值。
* 美观的话我们将每行的最大属性数设置为3
* singleline当开始标记位于一行中时,每行的最大属性数。默认为1
* multiline.max当开始标记位于多行中时,每行的最大属性数
* multiline.allowFirstLine 允许属性与标记名位于同一行
*/
'vue/max-attributes-per-line': [
'error',
{
singleline: 3,
multiline: {
max: 1,
allowFirstLine: false
}
}
],
/**
* 此规则的目的是警告位于配置位置之外的位置的右尖括号。
* 如果是多属性换行的话末尾尖括号需要另起一行
*/
'vue/html-closing-bracket-newline': 0,
/**
* 此规则的目的是将自关闭符号强制为配置的样式。
* always需要在不包含其内容的元素处进行自关闭。
* never不允许自闭。
* any不要强迫自己关闭。
*/
'vue/html-self-closing': [
'error',
{
html: {
void: 'never', // void元素的样式
normal: 'never', // void元素之外的所有
component: 'always' // Vue.js定制组件的风格。
},
svg: 'always',
math: 'always'
}
],
// 此规则要求为未标记为必需的每个道具设置默认值(布尔道具除外)。
'vue/require-default-prop': 0,
// 此规则旨在强制组件属性的排序。默认顺序在Vue中指定
'vue/attributes-order': 0,
// 此规则的目的是将自关闭符号强制为配置的样式。
'vue/html-self-closing': 0,
// 此规则的目的是在标签的结束方括号>之前强制使用一致的间距样式。
'vue/html-closing-bracket-spacing': 0
}
}
JavaScript
1
https://gitee.com/hjmeng/MTools-Admin.git
git@gitee.com:hjmeng/MTools-Admin.git
hjmeng
MTools-Admin
MTools-Admin
master

搜索帮助