搜索

首页  >  问答  >  正文

ESLint Vue 多字组件

有没有办法阻止 Vue3 中的单个单词 view 名称从 ESLint 获取错误?

每次运行 ESLint 时,我都会收到以下消息:

  1:1  error  Component name "About" should always be multi-word  vue/multi-word-component-names

我目前有这样的设置:

文件结构:

├── index.html
├── node_modules
├── npm
├── package.json
├── package-lock.json
├── public
│   └── favicon.ico
├── README.md
├── src
│   ├── App.vue
│   ├── assets
│   │   └── logo.svg
│   ├── components
│   │   └── Menu.vue
│   ├── env.d.ts
│   ├── main.ts
│   ├── router
│   │   └── index.ts
│   └── views
│       ├── About.vue
│       └── Home.vue
├── tsconfig.json
└── vite.config.ts

.eslintrc:

{
    "root": true,
    "env": {
        "node": true
    },
    "extends": [
        "plugin:vue/vue3-essential",
        "eslint:recommended",
        "@vue/typescript/recommended"
    ],
    "parserOptions": {
        "ecmaVersion": 2021
    },
    "rules": {}
}

package.json

{
...
  "scripts": {
    "dev": "vite",
    "build": "vue-tsc --noEmit && vite build",
    "preview": "vite preview",
    "lint": "eslint --ext .ts,vue --ignore-path .gitignore ."
  },
...
}

P粉349222772P粉349222772241 天前453

全部回复(2)我来回复

  • P粉465287592

    P粉4652875922024-03-26 14:56:05

    对于仍然遇到此问题的用户,请在 .eslintrc.js 文件中的规则下添加以下内容

    rules: {
      ...
      'vue/multi-word-component-names': 0,
    }

    回复
    0
  • P粉850680329

    P粉8506803292024-03-26 13:56:45

    选项 1:全局禁用

    要禁用所有文件中的规则(甚至是 src/components 中的文件):

    // /.eslintrc.js
    module.exports = {
      ⋮
      rules: {
        'vue/multi-word-component-names': 0,
      },
    }
    

    选项 2:src/views/ 的 ESLint 配置中覆盖

    要仅对 src/views/**/*.vue 禁用规则,请指定 overrides 配置

    // /.eslintrc.js
    module.exports = {
      ⋮
      overrides: [
        {
          files: ['src/views/**/*.vue'],
          rules: {
            'vue/multi-word-component-names': 0,
          },
        },
      ],
    }
    

    注意:如果将 VS Code 与 ESLint 扩展,重新启动 ESLint 服务器(通过命令面板>ESLint:重新启动 ESLint Server 命令)或重新启动 IDE 可能需要重新加载配置。

    选项 3:src/views/ 的目录级配置

    也可以使用 src/views/**/*.vue 的规则配置文件" rel="noreferrer">.eslintrc.js 文件在该目录

    // /src/views/.eslintrc.js
    module.exports = {
      rules: {
        'vue/multi-word-component-names': 0,
      },
    }
    

    回复
    0
  • 取消回复