Language-tools: エラーを表示します

作成日 2020年06月18日  ·  3コメント  ·  ソース: sveltejs/language-tools

バグを説明する

<!doctype html>はエラーを示しています。 https://github.com/sveltejs/language-tools/issues/143に関連しているよう

再現するには

CleanShot 2020-06-18 at 09 50 11@2x
CleanShot 2020-06-18 at 09 54 13@2x

<!doctype html />
<html lang="en">
  <slot name="head" />
  <body>
    <slot name="view" />
    <slot name="script" />
  </body>
</html>

Doctypeを削除すると、問題が修正されます。 <!doctype html>も試しましたが、自動フォーマットによって<!doctype html />挿入されます。

予想される行動

エラーはありません。 svelteで修正されているようです: https

Svelte REPLで再現できませんでした(別のエラーが発生しました)が、これはSSRで機能するはずです。

システム(以下の情報を入力してください):

  • OS:OSX
  • IDE:VSCode
  • プラグイン/パッケージ:Svelte Beta v99.0.46
bug good first issue

最も参考になるコメント

@dummdidummあなたの提案に基づいて、プルリクエスト#213を作成しました。

全てのコメント3件

これはsvelte2tsx問題です。 指定された入力の出力は次のとおりです。

<></>;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 />は有効なjsxタグではないため、これらの構文エラーをスローします。 最善の解決策は、ドキュメントの先頭にそのような文字列が存在するかどうかをsvelte2tsx内で確認し、「彼で始まるタグがありますか」をチェックする正規表現を使用して、jsxへの変換中に削除することだと思います。始まり」。

@dummdidummあなたの提案に基づいて、プルリクエスト#213を作成しました。

ありがとう@skippednote ! 修正は約20時間で利用可能になります。

このページは役に立ちましたか?
0 / 5 - 0 評価