Componente Vue3 con TypeScript y vue-property-decorator :
<template lang="pug"> component.OverflowSafeSingleLineLabel( :is="rootElementTag" ) span.OverflowSafeSingleLineLabel-TextWithIncreasedLineHeight slot </template> <script lang="ts"> import { Options, Vue, Prop as VueProperty } from "vue-property-decorator"; @Options ({}) export default class OverflowSafeSingleLineLabel extends Vue { @Prop({ type: String, default: "div" }) protected readonly rootElementTag!: string; } </script>Tengo 4 errores de TypeScript:
ERROR in C:\Users\XXX\Source\OverflowSafeSingleLineLabel.vue.ts 5:45-51 [tsl] ERROR in C:\Users\XXX\Source\OverflowSafeSingleLineLabel.vue.ts(5,46) TS6133: '$props' is declared but its value is never read. ERROR in C:\Users\XXX\Source\OverflowSafeSingleLineLabel.vue.ts 5:57-63 [tsl] ERROR in C:\Users\XXX\Source\OverflowSafeSingleLineLabel.vue.ts(5,58) TS6133: '$setup' is declared but its value is never read. ERROR in C:\Users\XXX\Source\OverflowSafeSingleLineLabel.vue.ts 5:69-74 [tsl] ERROR in C:\Users\XXX\Source\OverflowSafeSingleLineLabel.vue.ts(5,70) TS6133: '$data' is declared but its value is never read. ERROR in C:\Users\XXX\Source\OverflowSafeSingleLineLabel.vue.ts 5:80-88 [tsl] ERROR in C:\Users\XXX\Source\OverflowSafeSingleLineLabel.vue.ts(5,81) TS6133: '$options' is declared but its value is never read. No puedo entender a qué se refiere el error. La línea 5 es la parte de la template . ¿Dónde declaré '$props' , '$setup' , 'data' y '$options' ?
📁 Repositorio de reproducción (bueno, no es la reproducción, pero actualmente no hay nada excepto un andamio básico como package.json , configuración de Webpack y 2 archivos fuente).
📁 ZIP con node_modules incluidos Simplemente ejecute webpack para obtener el resultado erróneo anterior.
Esto parece ser un problema con la generación de código de plantilla de Vue3. Hay un problema abierto aquí: https://github.com/vuejs/vue-next/issues/4668
El último comentario:
Ah, entonces es un problema con el codegen de Vue en el sentido de que a veces genera parámetros no utilizados, lo que anteriormente no era un problema ya que la función de renderizado generada en realidad no se verificó, pero vue-tsc ahora hace eso.
así que hay poco que hacer, tendremos que investigar si/cómo podemos mejorar esto.
Sugieren una solución como la siguiente en tsconfig.json :
{ "compilerOptions": { ... "noUnusedParameters": false, }