代码拉取完成,页面将自动刷新
/**
* @description 该插件主要为了方便配置Eslint,有属性提示
* @description 弃用的属性警告
*/
//@ts-check
const { defineConfig } = require("eslint-define-config");
module.exports = defineConfig({
// 禁止继续查找父级目录
root: true,
// 支持环境
env: {
browser: true,
node: true,
es6: true
},
parser: "vue-eslint-parser",
// Eslint默认处理es5,使用该配置修改相关配置
parserOptions: {
// 指定解析器
parser: "@typescript-eslint/parser",
// 指定ES版本
ecmaVersion: 2020,
// 设置源类型,为module (代码是模块化)
sourceType: "module",
jsxPragma: "React",
// 使用额为的语言特性
ecmaFeatures: {
jsx: true
}
},
// 继承别的规则
extends: [
"plugin:vue/vue3-recommended",
"plugin:@typescript-eslint/recommended",
"prettier",
"plugin:prettier/recommended"
],
// 规则
rules: {
"vue/script-setup-uses-vars": "error",
"@typescript-eslint/ban-ts-ignore": "off",
// 关闭要求在函数和类方法上有明确的返回类型
"@typescript-eslint/explicit-function-return-type": "off",
// 关闭不允许使用any类型
"@typescript-eslint/no-explicit-any": "off",
// 关闭不允许使用require语句,除非在导入语句中。
"@typescript-eslint/no-var-requires": "off",
// 关闭不允许空函数
"@typescript-eslint/no-empty-function": "off",
// 关闭强制自定义大小写
"vue/custom-event-name-casing": "off",
// 关闭禁止在变量定义之前使用它们
"no-use-before-define": "off",
// 关闭TS下变量被定义之前,不允许使用这些变量
"@typescript-eslint/no-use-before-define": "off",
// 关闭禁止使用@ts-<指令>注释,或要求在指令后进行描述
"@typescript-eslint/ban-ts-comment": "off",
// 关闭禁止使用特定类型
"@typescript-eslint/ban-types": "off",
// 关闭不允许使用!后缀操作符的非空断言。
"@typescript-eslint/no-non-null-assertion": "off",
// 关闭要求在导出的函数和类的公共类方法上明确返回和参数类型
"@typescript-eslint/explicit-module-boundary-types": "off",
// TS下打开不允许未使用的变量(并且阻止代码运行)
"@typescript-eslint/no-unused-vars": [
"error",
{
// 指定字符不需要检测
argsIgnorePattern: "^_",
// 指定正则匹配字不检测
varsIgnorePattern: "^_"
}
],
// 开不允许未使用的变量(并且阻止代码运行)
"no-unused-vars": [
"error",
{
// 指定字符不需要检测
argsIgnorePattern: "^_",
// 指定正则匹配字不检测
varsIgnorePattern: "^_"
}
],
// 关闭强制在 function的左括号之前使用一致的空格
"space-before-function-paren": "off",
// 关闭强制执行属性顺序
"vue/attributes-order": "off",
// 关闭强制只有一个组件
"vue/one-component-per-file": "off",
// 关闭标签的右括号之前强制换行
"vue/html-closing-bracket-newline": "off",
// 关闭每行属性的限制
"vue/max-attributes-per-line": "off",
// 关闭此规则在多行元素的内容之前和之后强制换行,就是要让标签换行
"vue/multiline-html-element-content-newline": "off",
// 关闭此规则在单行元素的内容之前和之后强制换行,就是要让标签换行
"vue/singleline-html-element-content-newline": "off",
// 关闭强制使用-链接属性
"vue/attribute-hyphenation": "off",
// 每个未标记为required(Boolean道具除外)的道具设置默认值
"vue/require-default-prop": "off",
// 禁止空格和 tab 的混合缩进
"no-mixed-spaces-and-tabs": "warn",
// 禁止出现多行空行
"no-multiple-empty-lines": "warn",
// 闭合标签
"vue/html-self-closing": [
"error",
{
html: {
void: "always",
normal: "never",
component: "always"
},
svg: "always",
math: "always"
}
]
}
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。