ESLint Vue 多词组件
ESLint Vue multiword components
有没有办法停止从 ESLint 获取 Vue3 中单个单词 view 名称的错误?
每次我 运行 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 ."
},
...
}
选项 1:全局禁用
禁用所有文件中的规则(甚至 src/components
中的文件):
// <projectRoot>/.eslintrc.js
module.exports = {
⋮
rules: {
'vue/multi-word-component-names': 0,
},
}
选项 2:overrides
在 src/views/
的 ESLint 配置中
要仅为 src/views/**/*.vue
禁用规则,请指定 overrides
config:
// <projectRoot>/.eslintrc.js
module.exports = {
⋮
overrides: [
{
files: ['src/views/**/*.vue'],
rules: {
'vue/multi-word-component-names': 0,
},
},
],
}
注意: 如果使用 VS Code 和 ESLint Extension, restarting the ESLint Server (through Command Palette 的 >ESLint: Restart ESLint Server
命令)或重新启动 IDE可能需要重新加载配置。
选项 3:src/views/
的目录级配置
也可以使用 .eslintrc.js
file in that directory:
禁用 src/views/**/*.vue
的规则
// <projectRoot>/src/views/.eslintrc.js
module.exports = {
rules: {
'vue/multi-word-component-names': 0,
},
}
对于仍然有此问题的用户,请在 .eslintrc.js
文件
的规则下添加以下内容
rules: {
...
'vue/multi-word-component-names': 0,
}
有一个简单的解决方案。您需要使用多个单词来定义您的组件名称。应该是 PascalCase,如下所示;
eg: AboutPage.vue
在项目根目录下找一个vue.config.js
文件,没有的在根目录下新建一个,写下下面标记的代码,保存,重新编译。该项目将运行正常
有没有办法停止从 ESLint 获取 Vue3 中单个单词 view 名称的错误?
每次我 运行 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 ."
},
...
}
选项 1:全局禁用
禁用所有文件中的规则(甚至 src/components
中的文件):
// <projectRoot>/.eslintrc.js
module.exports = {
⋮
rules: {
'vue/multi-word-component-names': 0,
},
}
选项 2:overrides
在 src/views/
的 ESLint 配置中
要仅为 src/views/**/*.vue
禁用规则,请指定 overrides
config:
// <projectRoot>/.eslintrc.js
module.exports = {
⋮
overrides: [
{
files: ['src/views/**/*.vue'],
rules: {
'vue/multi-word-component-names': 0,
},
},
],
}
注意: 如果使用 VS Code 和 ESLint Extension, restarting the ESLint Server (through Command Palette 的 >ESLint: Restart ESLint Server
命令)或重新启动 IDE可能需要重新加载配置。
选项 3:src/views/
的目录级配置
也可以使用 .eslintrc.js
file in that directory:
src/views/**/*.vue
的规则
// <projectRoot>/src/views/.eslintrc.js
module.exports = {
rules: {
'vue/multi-word-component-names': 0,
},
}
对于仍然有此问题的用户,请在 .eslintrc.js
文件
rules: {
...
'vue/multi-word-component-names': 0,
}
有一个简单的解决方案。您需要使用多个单词来定义您的组件名称。应该是 PascalCase,如下所示;
eg: AboutPage.vue
在项目根目录下找一个vue.config.js
文件,没有的在根目录下新建一个,写下下面标记的代码,保存,重新编译。该项目将运行正常