Décrivez le bogue
export let
déclarations
Reproduire
Définissez le langage de script sur typescript ( lang="ts"
ou type="text/typescript"
).
Déclarez une propriété d'exportation, ne l'utilisez nulle part.
Comportement prévisible
L'avertissement est sur la propriété qui n'est pas utilisée.
Captures d'écran
Si la propriété se trouve dans la première ligne du script :
Système (veuillez compléter les informations suivantes) :
Essayez de mettre à jour votre @tsconfig/svelte au dernier
Je n'utilise pas ça.
Je l'ai ajouté temporairement, n'a rien fait.
Oh, je pensais que vous utilisiez le modèle officiel. Le package est une configuration de base pour svelte. Vous pouvez mettre à jour le extends
de votre tsconfig.json
pour qu'il corresponde à cela.
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87
Duplicata du #333
@ jasonulu123 Comme je l'ai dit, j'ai ajouté temporairement la configuration de base mais rien n'a changé. Je reçois toujours les erreurs sur la mauvaise ligne.
Ensuite, pouvez-vous essayer d'exécuter tsc
pour compiler un fichier ts dans votre espace de travail et voir si le fichier de sortie a une sourcemap ?
Le problème est avec sourcemap. Nous utilisons le compilateur svelte pour obtenir des diagnostics sveltes. si vous avez un svelte.config.js et que vous y spécifiez votre préprocesseur, nous l'utiliserions pour le prétraitement, à part cela, nous utiliserons le préprocesseur svelte officiel. Et si le préprocesseur ne renvoie pas de sourcemap, l'avertissement serait dans une mauvaise position.
De plus, nous ne surveillons pas les modifications apportées au fichier tsconfig.json, assurez-vous donc de redémarrer le serveur de langue après toute modification.
Il ne génère pas toujours des cartes sources. Si j'appelle tsc
sur un seul fichier, il ne charge apparemment pas le tsconfig; si j'utilise tsc -p .
ou tsc --build tsconfig.json
, la carte source sera affichée comme prévu.
Puis-je jeter un œil à votre svelte.config.js
si vous l'avez, quel préprocesseur utilisez-vous également ?
J'utilise le processeur par défaut, qui devrait être svelte-preprocess
en mode automatique. J'ai créé un exemple de référentiel minimal qui contient les erreurs sur le composant d'entrée.
J'ai essayé de créer un svelte.config.js
, en définissant explicitement le préprocesseur en mode automatique, n'avait pas d'importance. Utiliser explicitement uniquement le typescript
avec un chemin vers le tsconfig.json
n'a rien fait non plus.
Ummm... c'est inattendu, cela ne fonctionnerait que si je définissais également sourcemap
sur true dans tsconfig.json
Ensuite, le extends
ne fonctionne pas tout à fait. Eh bien, cela ne me dérange pas de le définir explicitement pour le moment.
Merci
Oui, j'ai jeté un coup d'œil au fichier source du svelte-preprocess. Il semble qu'il n'analyse pas le extends
.
Merci pour le problème !
J'ai ouvert ce problème à svelte-preprocess
, car selon la doc , en mode de prétraitement automatique, les cartes sources devraient être générées. Mise à jour : les documents étaient erronés, vous devez donc le définir vous-même sur true
.
@brunnerh si vous supprimez "sourceMaps": true
et la référence de configuration de base de votre tsconfig.json
et faites à la place sveltePreprocess({sourceMap: true})
dans votre svelte.config.js
, cela affiche-t-il les avertissements au bon ligne alors ?
@brunnerh si vous supprimez
"sourceMaps": true
et la référence de configuration de base de votretsconfig.json
et que vous faites plutôtsveltePreprocess({sourceMap: true})
dans votresvelte.config.js
, cela affiche-t-il les avertissements au bon ligne alors ?
Non, toujours éteint.
Cela ne fonctionne donc que si vous ajoutez "sourceMaps": true
au tsconfig.json
?
Oui
Fermeture car ce sont des problèmes liés à svelte-preprocess
. Le problème "la carte source n'est pas appliquée lorsque je dis prétraiter via son option sourceMap" est résolu dans la dernière version. Le " extends
-feature of tsconfig.json
not supported" est suivi dans https://github.com/sveltejs/svelte-preprocess/issues/300 .