Descreva o bug
<!doctype html>
mostra erros. Parece relacionado a https://github.com/sveltejs/language-tools/issues/143.
Reproduzir
<!doctype html />
<html lang="en">
<slot name="head" />
<body>
<slot name="view" />
<slot name="script" />
</body>
</html>
Remover o doctype corrige o problema. Eu também tentei <!doctype html>
, mas a formatação automática insere <!doctype html />
qualquer maneira.
Comportamento esperado
Sem erros. Parece que está corrigido no svelte: https://github.com/sveltejs/svelte/issues/336
Não consegui reproduzi-lo no Svelte REPL (recebi um erro diferente), mas acho que deve funcionar com SSR.
Sistema (preencha as seguintes informações):
É um problema de svelte2tsx
. A saída de determinada entrada é:
<></>;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ão é uma tag jsx válida, portanto, gera esses erros de sintaxe. Acho que a melhor solução seria verificar dentro de svelte2tsx
se tal string existe no início do documento e apenas removê-la durante a conversão para jsx, usando um regex que verifica "há uma tag que começa com ele começo".
@dummdidumm Com base na sua sugestão, criei uma solicitação pull # 213.
Obrigado @skippednote ! A correção estará disponível em cerca de 20 horas.
Comentários muito úteis
@dummdidumm Com base na sua sugestão, criei uma solicitação pull # 213.