Décrivez le bogue
<!doctype html>
affiche des erreurs. Looks liés à https://github.com/sveltejs/language-tools/issues/143.
Reproduire
<!doctype html />
<html lang="en">
<slot name="head" />
<body>
<slot name="view" />
<slot name="script" />
</body>
</html>
La suppression du doctype résout le problème. J'ai aussi essayé <!doctype html>
, mais le formatage automatique insère quand même <!doctype html />
.
Comportement prévisible
Aucune erreur. On dirait que c'est corrigé dans svelte: https://github.com/sveltejs/svelte/issues/336
Je n'ai pas pu le reproduire dans le Svelte REPL (j'ai eu une erreur différente), mais je pense que cela devrait fonctionner avec SSR.
Système (veuillez compléter les informations suivantes):
C'est un problème svelte2tsx
. La sortie d'une entrée donnée est:
<></>;function render() {
<><!doctype html />
<html lang="en">
<slot name="head" />
<body>
<slot name="view" />
<slot name="script" />
</body>
</html></>
return { props: {}, slots: {head: {}, view: {}, script: {}} }}
export default class {
$$prop_def = __sveltets_partial(render().props)
$$slot_def = render().slots
}
<!doctype html />
n'est pas une balise jsx valide, elle génère donc ces erreurs de syntaxe. Je pense que la meilleure solution serait de vérifier à l'intérieur de svelte2tsx
si une telle chaîne existe au début du document et de la supprimer simplement lors de la conversion en jsx, en utilisant une expression régulière qui vérifie "y a-t-il une balise qui commence par he début".
@dummdidumm Sur la base de votre suggestion, j'ai créé une pull request # 213.
Merci @skippednote ! Le correctif sera disponible dans environ 20 heures.
Commentaire le plus utile
@dummdidumm Sur la base de votre suggestion, j'ai créé une pull request # 213.