Describe el error
export let
declaraciones de una propiedad no utilizada provocan una advertencia. La advertencia se muestra en la línea sobre la propiedad real para mí.
Reproducir
Establezca el lenguaje de secuencia de comandos en mecanografiado ( lang="ts"
o type="text/typescript"
).
Declare alguna propiedad de exportación, no la use en ningún lado.
Comportamiento esperado
La advertencia indica que la propiedad no se está utilizando.
Capturas de pantalla
Si la propiedad está en la primera línea del script:
Sistema (complete la siguiente información):
Intente actualizar su @ tsconfig / svelte al último
No lo estoy usando.
Lo agregó temporalmente, no hizo nada.
Oh, pensé que estabas usando la plantilla oficial. El paquete es una configuración básica para svelte. Puede actualizar el extends
de su tsconfig.json
para que coincida con esto.
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87
Duplicado de # 333
@ jasonlyu123 Como dije, agregué la configuración base temporalmente pero nada cambió. Sigo recibiendo los errores en la línea incorrecta.
Entonces, ¿puede intentar ejecutar tsc
para compilar un archivo ts en su espacio de trabajo y ver si el archivo de salida tiene un mapa de origen?
El problema está en el mapa fuente. Usamos el compilador esbelto para obtener diagnósticos esbeltos. si tiene un svelte.config.js y especifica su preprocesador en él, lo usaríamos para preprocesar, aparte de eso, usaremos el preproceso oficial svelte. Y si el preprocesador no devuelve un mapa fuente, la advertencia estaría en una posición incorrecta.
Además, no supervisamos los cambios en tsconfig.json, así que asegúrese de reiniciar el servidor de idioma después de cualquier cambio.
No siempre genera mapas de origen. Si llamo a tsc
en un solo archivo, aparentemente no carga el tsconfig; si utilizo tsc -p .
o tsc --build tsconfig.json
generará el mapa fuente como se esperaba.
¿Puedo echar un vistazo a su svelte.config.js
si lo tiene, también qué preprocesador usa?
Utilizo el procesador predeterminado, que debería ser svelte-preprocess
en modo automático. Hice un repositorio de ejemplo mínimo que tiene los errores en el componente de entrada.
Intenté crear un svelte.config.js
, estableciendo explícitamente el preprocesador en modo automático, no importaba. Usar explícitamente solo el typescript
uno con una ruta al tsconfig.json
tampoco hizo nada.
Ummm ... esto es inesperado, solo funcionaría cuando también establezco sourcemap
en verdadero en tsconfig.json
Entonces extends
no funciona del todo. Bueno, no me importa establecer eso explícitamente por ahora.
Gracias
Sí, eché un vistazo rápido al archivo fuente del preproceso svelte. Parece que no analiza el extends
.
¡Gracias por el problema!
Abrí este problema en svelte-preprocess
, porque de acuerdo con los documentos , en el modo de preprocesamiento automático, se deben generar mapas de origen. Actualización: los documentos eran incorrectos, por lo que debe configurarlo en true
usted mismo.
@brunnerh si elimina "sourceMaps": true
y la referencia de configuración base de su tsconfig.json
y en su lugar hace sveltePreprocess({sourceMap: true})
en su svelte.config.js
, ¿muestra las advertencias en el lugar correcto? línea entonces?
@brunnerh si elimina
"sourceMaps": true
y la referencia de configuración base de sutsconfig.json
y en su lugar hacesveltePreprocess({sourceMap: true})
en susvelte.config.js
, ¿muestra las advertencias en el lugar correcto? línea entonces?
No, todavía apagado.
Entonces, solo funciona si agrega "sourceMaps": true
al tsconfig.json
?
sí
Cerrando ya que estos son problemas relacionados con svelte-preprocess
. El "mapa fuente no se aplica cuando le digo al preproceso a través de su opción sourceMap" -el problema está arreglado en la última versión. La " extends
-característica de tsconfig.json
no admitida" se rastrea en https://github.com/sveltejs/svelte-preprocess/issues/300 .