#babeljs #eslint
Вопрос:
Я получаю эту странную ошибку с eslint внутри шаблона Vue SFC.
Parsing error: This experimental syntax requires enabling one of the following parser plugin(s): 'jsx, flow, typescript' (1:0)
(Что, похоже, указывает на открывающий тег тега Vue SFC <template>
.)
Вот SFC Vue (буквально App.vue
файл Vite на складе)
<template>
<img
alt="Vue logo"
src="./assets/logo.png"
>
<HelloWorld
msg="Hello Vue 3 Vite"
/>
</template>
Вот мое .eslintrc
досье
module.exports = {
env: {
browser: true,
es2021: true,
},
extends: [
'plugin:vue/essential',
'airbnb-base',
],
parser: '@babel/eslint-parser',
parserOptions: {
ecmaVersion: 12,
requireConfigFile: false,
sourceType: 'module',
},
plugins: [
'vue',
],
rules: {
'import/no-extraneous-dependencies': ['error', { devDependencies: true }],
'vue/no-multiple-template-root': 'off',
},
};
И мой package.json
, если это имеет отношение к делу
{
"version": "0.0.0",
"scripts": {
"build": "vite build",
"dev": "vite",
"lint": "eslint **/*.{js,vue}",
"serve": "vite preview"
},
"dependencies": {
"ky": "^0.28.5",
"vue": "^3.0.5"
},
"devDependencies": {
"@babel/core": "^7.15.0",
"@babel/eslint-parser": "^7.15.0",
"@vitejs/plugin-vue": "^1.2.3",
"@vue/compiler-sfc": "^3.0.5",
"eslint": "^7.32.0",
"eslint-config-airbnb-base": "^14.2.1",
"eslint-plugin-import": "^2.24.2",
"eslint-plugin-vue": "^7.17.0",
"jest": "^27.1.0",
"vite": "^2.3.7"
}
}
Я не совсем уверен, что могло бы вызвать это, так как у меня есть
extends: [
'plugin:vue/essential',
'airbnb-base',
],
и
plugins: [
'vue',
],
внутри .eslintrc
.
Я хотел бы знать, как решить эту проблему, но я также хотел бы понять, что здесь происходит, чтобы в первую очередь вызвать эту ошибку.
Ответ №1:
Проблема была вызвана этим внутри .eslintrc
parser: '@babel/eslint-parser',
parserOptions: {
ecmaVersion: 12,
requireConfigFile: false,
sourceType: 'module',
},
Вместо этого это должно быть
parserOptions: {
ecmaVersion: 12,
parser: '@babel/eslint-parser',
requireConfigFile: false,
sourceType: 'module',
},
parser
Собственность даже не упоминается в https://eslint.org/docs/user-guide/configuring/language-options#specifying-parser-options так что на данный момент это может быть просто устаревшим.