Eche un vistazo al componente Test
en el siguiente REPL:
https://svelte.dev/repl/4859affa8c1c436783a9d9a6d537c903?version=3
Una tienda se crea en una etiqueta de script context="module"
, y se usa con un signo de dólar $
antepuesto, en el marcado. Funciona como se esperaba. Sin embargo, el mismo código en VS Code muestra un error:
Tenga en cuenta que funciona y se compila correctamente, es decir, el compilador no da errores; por lo que el problema debe ser la extensión Svelte VS Code, básicamente no reconoce correctamente ninguna tienda que se haya definido en el script context="module"
y, como resultado, hace que aparezca un ondulado rojo debajo de $count
aquí.
Además, solo cuando el atributo lang="ts"
está presente en la etiqueta <script>
aparece el ondulado rojo.
Le agradecería que esto pueda solucionarse pronto.
Error: Cannot find name '$username'. Did you mean 'username'? (ts)
cuando username
creado en context="module"
.> svelte-check --ignore src/node_modules/<strong i="15">@sapper</strong>
/src/routes/my/test.svelte:2:2
Hint: '$username' is declared but its value is never read. (ts)
<script lang="ts">
import { username } from './_store';
Código:
Versión:
"svelte": "^3.35.0",
"svelte-check": "^1.2.0",
"typescript": "^4.2.2"
@fivemru ¿Es correcta la captura de pantalla? Porque, como parece, no está definiendo username
en la etiqueta de script a context="module"
sino en un archivo separado.
@fivemru ¿Es correcta la captura de pantalla? Porque, como parece, no está definiendo
username
en la etiqueta de script acontext="module"
sino en un archivo separado.
La captura de pantalla es para el segundo caso. Se agregó uno más para el 1er.
En el segundo caso, el error no aparece en vscode, pero está ahí cuando se ejecuta svelte-check
@fivemru Oh, está bien. Entiendo.
El segundo error no está relacionado. Se podría argumentar que es correcto porque solo escribe a la tienda y nunca lo lee. Al hacer $username = ..
le dice a Svelte que se suscriba a esa tienda pero nunca la usa. En este caso username.set(..)
es la mejor opción. Aún así, entiendo que esto es confuso, por lo que podemos considerar eliminar esa sugerencia.
El uso de la sintaxis de suscripción automática para una tienda que se definió en el script context = "module" ya no debería generar un error a partir de la extensión de VS Code 104.6.0 / svelte-check
1.2.1
Comentario más útil
El uso de la sintaxis de suscripción automática para una tienda que se definió en el script context = "module" ya no debería generar un error a partir de la extensión de VS Code 104.6.0 /
svelte-check
1.2.1