Vue: خطة إنقاذ غير متوقعة لترطيب SSR مع

تم إنشاؤها على ٢٨ يونيو ٢٠١٧  ·  4تعليقات  ·  مصدر: vuejs/vue

إصدار

2.3.4

التكاثر

إليك ما يحدث على مفتاح F5 (إعادة التحميل):
ssr_pre_tag_issue
(يحدث مرة واحدة فقط ، يتم تكرار الفيديو)

خطوات التكاثر

أضف علامة <pre> في App.vue للعرض التوضيحي vue-hackernews-2.0:

<template>
  <div id="app">
    <header class="header">
    <pre style="background-color: #aaa">
foobar
    </pre>
      <nav class="inner">

ما هو متوقع؟

جانب العميل وجانب الخادم لهما نفس الإصدار للعلامة <pre>

ما الذي يحدث بالفعل؟

الإصدارات من جانب العميل والخادم ليست متطابقة ، ثم الإنقاذ؟ ثم يتأرجح محتوى <pre> tag

bug

التعليق الأكثر فائدة

FranckFreiburger يبدو أن هذا خطأ. وفقًا للمواصفات https://www.w3.org/TR/html5/syntax.html#element -restrictions

يمكن وضع سطر جديد واحد مباشرة بعد علامة البداية لعناصر ما قبل ومنطقة نصية. إذا كان المقصود من محتويات العنصر أن تبدأ بسطر جديد ، فيجب تضمين سطرين متتاليين من قبل المؤلف.

يتم تجاهل فاصل السطر first الذي يلي العلامة السابقة مباشرة ، بينما يبدو أن برنامج التحويل البرمجي vue html ليس كذلك.

سأحاول إصلاحه.

ال 4 كومينتر

شكرًا FranckFreiburger ، أحاول إعادة إنتاج المشكلة على Mac و windows ، كلاهما جيد. هل يمكنك تقديم المزيد من المعلومات من فضلك؟ وبالنسبة لـ F5 key ، ماذا تقصد بذلك ، F5 لإعادة تحميل الصفحة؟

Windows 7 ، node v8.1.2 ، تم اختباره باستخدام أحدث إصدارات Google Chrome و Firefox.
بعد استنساخ العرض التوضيحي vue-hackernews-2.0 ، قمت للتو بتعديل App.vue لإضافة علامة <pre> .
ثم قمت بتشغيل npm run dev ، وفي المرة الأولى التي يتم فيها تحميل الصفحة ، تحدث المشكلة (وتحدث المشكلة مرة أخرى عند إعادة تحميل الصفحة)

باستخدام أدوات google dev ،
عندما أقوم بإيقاف تنفيذ النص البرمجي قبل حدوث المشكلة مباشرةً ، فإن الترميز (في علامة التبويب عناصر أدوات التطوير) هو:

<pre style="background-color:#aaa;">foobar
        </pre>

عندما أواصل تنفيذ البرنامج النصي ، يصبح الترميز:

<pre style="background-color:#aaa;">
foobar
        </pre>

يبدو أن البيانات من علامة تبويب الشبكة صحيحة ، ويحتوي طلب HTTP GET الأولي على:

<pre style="background-color:#aaa;">
foobar
        </pre>

ملاحظة: لا تحدث المشكلة مع <div style="white-space:pre;"> بدلاً من <pre>

شكرا لك. أحاول النظر في الأمر.

FranckFreiburger يبدو أن هذا خطأ. وفقًا للمواصفات https://www.w3.org/TR/html5/syntax.html#element -restrictions

يمكن وضع سطر جديد واحد مباشرة بعد علامة البداية لعناصر ما قبل ومنطقة نصية. إذا كان المقصود من محتويات العنصر أن تبدأ بسطر جديد ، فيجب تضمين سطرين متتاليين من قبل المؤلف.

يتم تجاهل فاصل السطر first الذي يلي العلامة السابقة مباشرة ، بينما يبدو أن برنامج التحويل البرمجي vue html ليس كذلك.

سأحاول إصلاحه.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات