1、“error Extra semicolon semi”错误

在学习编写Vue3.0项目的时候,你可能还会发现,比如,用响应式模板创建的组件里的语句import { reactive, toRefs } from 'vue'后面没有分号,你如果加上,运行会报错,错误信息如图所示:

这个错误的原因是我们在语句末尾使用了引号,去掉分号后就可以顺利跑通了。这又是为什么呢?这是因为vscode的插件ESlint的原因。ESlint在格式化文档的时候会自动添加分号。这可能会让我们感觉不舒服,觉得不规范。有没有什么办法呢?有的。我们可以通过设置ESlint的检查规则来改变。 

2、这个问题的解决办法:

Vue项目文件夹里找到“.eslintrc.js”文件并打开,其内容可能如下所示:

module.exports = {

  root: true,

  env: {

    node: true

  },

  extends: [

    'plugin:vue/vue3-essential',

    '@vue/standard'

  ],

  parserOptions: {

    parser: '@babel/eslint-parser'

  },

  rules: {

    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',

    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'

  }

}

在其“rules”内增加新规则,首先在图上的输出报错信息的右侧灰色的部分会看见命令“semi”,将其增加到 rules”内,并设置为0,这时,ESlint不再检查分号。修改后的文件内容如下:

module.exports = {

  root: true,

  env: {

    node: true

  },

  extends: [

    'plugin:vue/vue3-essential',

    '@vue/standard'

  ],

  parserOptions: {

    parser: '@babel/eslint-parser'

  },

  rules: {

    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',

    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',

    'semi':0

  }

}

修改后,保存,并且重新运行项目,问题应该就是解决了。另外,如果你想按照以往的样子在该加分好的地方都加上分号,你可以'semi':0改成‘semi’: [“error”, “always”],这样每条语句就都得加上分号,否则会报错。

Logo

前往低代码交流专区

更多推荐