visual-studio-code - NuxtJS 上的 ESLint 和 Prettier 冲突
问题描述
当我创建一个新的 Nuxt.js 项目时,我对 ESLint 和 Prettier 有一个非常令人筋疲力尽的问题。
如果我保存在这个.vue
文件上,Prettier 会尝试修复它,但 ESLint 会阻止它这样做。所以,我无法消除这方面的错误。
我的 eslintrc.js
module.exports = {
root: true,
env: {
browser: true,
node: true,
},
parserOptions: {
parser: 'babel-eslint',
},
extends: [
'@nuxtjs',
'plugin:prettier/recommended',
'plugin:nuxt/recommended',
],
plugins: [],
// add your custom rules here
rules: {},
}
我的 .prettierrc
{
"semi": false,
"singleQuote": true
}
我的 settings.json
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
},
"editor.formatOnSave": true,
}
我不修改生成的 ESLint 和 Prettier 文件。
我想问题出在我的 VS Code 设置、ESLint 设置或 Prettier 上。我尝试了一些解决方案,但没有任何效果。
编辑
如果您遇到此问题,我建议您卸载 Visual Studio Code 并缓存...以全新安装重新安装它。
解决方案
我找到了一个不完美的解决方案,但它有效:
VSCode 扩展
.eslintrc.js
module.exports = {
root: true,
env: {
browser: true,
node: true
},
extends: [
'@nuxtjs',
'plugin:nuxt/recommended',
'eslint:recommended' // <- add this line
// 'plugin:prettier/recommended', <- remove this line
],
parserOptions: {
parser: 'babel-eslint'
},
rules: {},
plugins: [
'prettier'
]
}
settings.json到 VS 代码中
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"eslint.probe": [
"javascript",
"javascriptreact",
"vue"
],
"editor.formatOnSave": false,
"editor.codeActionsOnSave": [
"source.formatDocument",
"source.fixAll.eslint"
],
"vetur.validation.template": false,
// ...
}
包.json
{
// ...
"devDependencies": {
"@nuxtjs/eslint-config": "^6.0.0",
"@nuxtjs/eslint-module": "^3.0.2",
"@nuxtjs/tailwindcss": "^4.0.1",
"babel-eslint": "^10.1.0",
"eslint": "^7.28.0",
"eslint-config-prettier": "^8.1.0",
"eslint-plugin-nuxt": "^2.0.0",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^7.7.0",
"postcss": "^8.2.8",
"prettier": "^2.2.1"
}
}
关闭并再次打开 VS Code 以重新加载规则或重新加载您的窗口
我认为 VS Code 设置与 Prettier 有一些 ESLint 冲突。这不是解决方案,它只是一个解决方案。如果您有其他要提供的,我真的很感兴趣。
推荐阅读
- jquery - 按钮单击未选择所需的 jquery 选项卡
- java - 使用 Spring ApplicationContext 类路径的绝对路径加载资源文件,如(sql、txt 等)
- android - Flutter MaterialPageRoute 导航到黑色背景的屏幕时如何解决?
- java - status statuscode=places_api_access_not_configured resolution=null 问题
- javascript - erb link_to 标记内的 Vue.js 数据
- python - 无法加载或保存 txt。文件
- omnet++ - 使用静脉进行 DoS 攻击
- javascript - 如何使用 JsDoc 为 Blob 定义类型?
- hive - Hive:根据相邻行合并或标记多行
- flutter - 如何在飞镖列表中复制重复项?