我找到了一个解决方案,虽然不完美,但有效:
VSCode 扩展
- VSCode 上的 ESLint https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
- VSCode 上更漂亮 https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-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'
]
}
设置.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 以重新加载规则 or 重新加载你的窗口
我认为问题出在 VS Code 设置上,一些 ESLint 与 Prettier 发生冲突。这不是解决方案,它只是一个解决方案。如果你还有其他可以提供的,我真的很感兴趣。