我创建了一个Laravel项目并安装了VSCode和所有必要的扩展。其中一个是ESLint,它可以正常使用JS文件,但是当我打开像(resources / js / component / ExampleComponent.vue)这样的Vue组件时,我从ESLint得到了这个错误:
“解析错误:意外的令牌<eslint [1,1]”
我的.eslintrc.js
file是使用./node_modules/.bin/eslint --init
生成并回答问题。
我已经用Google搜索并找到了这个解决方案:
npm install babel-eslint --save-dev
并将其添加到.eslintrc.js
:
parser: "babel-eslint"
但它无论如何都不起作用,错误就在那里。
这是我的ExampleComponent.vue
(未经修改,来自Laravel):
<template> (ESLint error here: "Parsing error: Unexpected token < eslint [1,1]")
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">
Example Component
</div>
<div class="card-body">
I'm an example component.
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
mounted() {
console.log('Component mounted.')
}
}
</script>
这是我的.eslintrc.js
:
module.exports = {
env: {
browser: true,
es6: true,
},
extends: 'airbnb-base',
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly',
},
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
parser: "babel-eslint",
},
plugins: [
'vue',
],
rules: {
},
};
我相信你需要插件eslint-plugin-vue
,并将你的.eslintrc.js
配置设置为以下设置之一,以便这个工作。
"extends": ["plugin:vue/recommended"]
"extends": ["plugin:vue/base"]
你可以阅读more about eslint-plugin-vue
here - here is a reference来解决你遇到的类似问题。
希望这可以帮助!
编辑:这是来自eslint
项目的vue cli
配置(看来你也可以使用["plugin:vue/essential"]
)
module.exports = {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"rules": {},
"parserOptions": {
"parser": "babel-eslint"
}
}