Búsqueda de sitios web

typescript - "Error de análisis: se esperaba un identificador" en v-on:change


Tuve un problema donde importar una clase para ser usada solo como una anotación de tipo en TypeScript causaba un error no-unused vars. Este hilo decía que agregara "plugin:@typescript-eslint/recommended" a la configuración de eslint, lo cual resolvió el problema pero causó más errores de análisis:

  • ESLint: Error de análisis: Se esperaba un identificador que ocurrió en v-on:change
  • ESLint: Error de análisis: se esperaba '}'. que ocurrió en components: {} en @Component(...)

/App.vue:

<template>
    <div id="app" style="height: 100%">
        <input v-on:change="onChange"/> <!--This is the "Identifier expected" error -->
    </div>
</template>

<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import Foo from "@/path/to/Foo";
import Bar from "@/path/to/Bar";

@Component({
    components: {  //This is where the `'}' expected.` error occurs
        
    }
})
export default class App extends Vue {
    onChange(e : any) : void {
        let f : Foo = Bar.baz();  //This is what caused the "no-unused-vars" problem before
        f.someFunc();
    }
}
</script>

Aquí está mi configuración de Eslint desde package.json:

"eslintConfig": {
    "root": true,
    "env": {
        "node": true
    },
    "extends": [
        "plugin:vue/essential",
        "eslint:recommended",
        "@vue/typescript",
        "plugin:@typescript-eslint/recommended"
    ],
    "parserOptions": {
        "parser": "@typescript-eslint/parser"
    },
    "rules": {}
}

He intentado habilitar vue/valid-v-on en las rules, así como cada una de las otras exports utilizadas en el hilo de GitHub mencionado arriba.

¿Qué debo hacer para arreglar esto?

Gracias de antemano.

Editar: He eliminado plugin:@typescript-eslint/recommended" de la configuración de eslint, y puse la línea // eslint-disable-next-line no-unused-vars sobre cada importación "no utilizada" en el código. Esta no es una solución óptima, así que dejaré la pregunta abierta.

Respuesta #1

Actualización (un año después): He tenido este error varias veces ahora, y descubrí que simplemente reiniciar el servicio de TypeScript generalmente lo soluciona.

En la parte inferior derecha de la ventana de IntelliJ Idea, haz clic en "Vue TypeScript", luego haz clic en "Reiniciar servicio TypeScript". Después de uno o dos segundos, todos los "errores" habrán sido reevaluados y cualquier cosa marcada incorrectamente como un error debería desaparecer.

Esto también se puede usar para "arreglar" muchos otros problemas con el verificador de errores de TypeScript.

Respuesta #2

Acabo de tener lo mismo. Sospechaba que era solo un 'mal humor' de la computadora... así que puse la línea en comentario y simplemente escribí yo mismo lo mismo debajo. El compilador se mantuvo en silencio, así que borré la línea anterior.

Probablemente solo un error.