vue.js ESLint:解析错误:意外标记:

a64a0gku  于 2023-01-26  发布在  Vue.js
关注(0)|答案(3)|浏览(220)

大家好,我正在迁移我的vue3项目从js到typescript,我遇到了这个问题:

这是我的代码在.vue文件

<script setup lang="ts">
const toto = (msg: string) => {
  console.log(msg)
}
</script>

这是我的eslintrc.js

module.exports = {
  'env': {
    'browser': true,
    'es2021': true
  },
  'extends': [
    'eslint:recommended',
    'plugin:vue/vue3-essential'
  ],
  'parserOptions': {
    'ecmaVersion': 13,
    'sourceType': 'module'
  },
  'plugins': [
    'vue'
  ],
  'rules': {
    'vue/multi-word-component-names': 'off',
    'vue/object-curly-spacing': [2, 'always'],
    'vue/html-closing-bracket-spacing': [2, {
      'selfClosingTag': 'always'
    }],
    'vue/max-attributes-per-line': [2, {
      'singleline': {
        'max': 1
      },
      'multiline': {
        'max': 1
      }
    }],
    'semi': [2, 'never']
  }
}

有人能帮帮我吗?谢谢🙏

xzlaal3s

xzlaal3s1#

你需要配置eslint来支持typescript,因为eslint不支持它。首先,你需要安装@typescript-eslint/parser,然后安装@typescript-eslint/eslint-plugin。一旦你安装了这些,简单地更新你的配置如下-

module.exports = {
    'env': {
        'browser': true,
        'es2021': true,
        node: true
    },
    'extends': [
        'eslint:recommended',
        'plugin:vue/vue3-essential'
    ],
    'parserOptions': {
        'ecmaVersion': 12,
        'sourceType': 'module',
        parser: '@typescript-eslint/parser'
    },
    'plugins': [
        'vue',
        '@typescript-eslint'
    ],
    'rules': {
        'vue/multi-word-component-names': 'off',
        'vue/object-curly-spacing': [2, 'always'],
        'vue/html-closing-bracket-spacing': [2, {
            'selfClosingTag': 'always'
        }],
        'vue/max-attributes-per-line': [2, {
            'singleline': {
                'max': 1
            },
            'multiline': {
                'max': 1
            }
        }],
        'semi': [2, 'never']
    }
}
xbp102n0

xbp102n02#

在我的例子中,问题在于我将解析器选项用作数组,而不是字符串:

parserOptions: {
-    parser: ['@typescript-eslint/parser'],
+    parser: '@typescript-eslint/parser',
   },
ru9i0ody

ru9i0ody3#

我在节点v12.22.9上遇到了这个问题。升级到v14.21.2后,我不再遇到解析错误。您可以使用以下命令升级/安装

nvm install v14.21.2

相关问题