|
7 | 7 | app.$mount('#app')
|
8 | 8 | ```
|
9 | 9 |
|
10 |
| -μλ²κ° μ΄λ―Έ λ§ν¬μ
μ λ λλ§ νμΌλ―λ‘, μ΄λ₯Ό λ²λ¦¬κ³ λͺ¨λ DOM μμλ₯Ό λ€μ λ§λ€νμλ μμ΅λλ€. λμ μ μ λ§ν¬ μ
μ "μν (hydrate)"νμ¬ μνΈμμ©νκ² λ§λ€κ³ μΆμ΅λλ€. |
| 10 | +μλ²κ° μ΄λ―Έ λ§ν¬μ
μ λ λλ§ νμΌλ―λ‘, μ΄λ₯Ό λ²λ¦¬κ³ λͺ¨λ DOM μμλ₯Ό λ€μ λ§λ€ νμλ μμ΅λλ€. λμ μ μ λ§ν¬ μ
μ "μν (hydrate)"νμ¬ μνΈμμ©νκ² λ§λ€κ³ μΆμ΅λλ€. |
11 | 11 |
|
12 | 12 | μλ²μμ λ λλ§ ν κ²°κ³Όλ₯Ό κ²μ¬νλ©΄ μ±μ λ£¨νΈ μ리먼νΈμ νΉμ μμ±μ νμΈν μ μμ΅λλ€.
|
13 | 13 |
|
14 | 14 | ```js
|
15 | 15 | <div id="app" data-server-rendered="true">
|
16 |
| -<p data-md-type="paragraph" data-md-index="16" data-segment-id="431015">νΉμ μμ± <code data-md-type="codespan" data-md-index="14">data-server-rendered</code>μ ν΄λΌμ΄μΈνΈ μΈ‘ Vueκ° λ§ν¬μ
μ΄ μλ²μ μν΄ λ λλ§ λκ³ νμ΄λλ μ΄μ
λͺ¨λλ‘ λ§μ΄νΈλμ΄μΌ νλ€κ³ μ립λλ€.</p> |
17 |
| -<p data-md-type="paragraph" data-md-index="20" data-segment-id="431016">κ°λ° λͺ¨λμμ Vueλ ν΄λΌμ΄μΈνΈ μΈ‘μμ λ§λ€μ΄μ§ κ°μ DOM νΈλ¦¬κ° μλ²μμ λ λλ§λ DOMꡬ쑰μ μΌμΉν¨μ λνλ
λλ€. μΌμΉνμ§ μλ λΆλΆμ΄ μμΌλ©΄ νμ΄λλ μ΄μ
μ μ€λ¨νκ³ κΈ°μ‘΄ DOMμ μμ ν ν μ²μλΆν° λ λλ§ ν©λλ€. <strong data-md-type="double_emphasis" data-md-index="19">λ°°ν¬ λͺ¨λμμλ μ΅λ μ±λ₯μ μν΄ assertλ₯Ό νμ§ μμ΅λλ€.</strong></p> |
18 |
| -<h3 data-md-type="header" data-md-header-level="3" data-md-index="22" data-segment-id="431014">νμ΄λλ μ΄μ
μ£Όμ μ¬ν</h3> |
19 |
| -<p data-md-type="paragraph" data-md-index="24" data-segment-id="431017">SSR + ν΄λΌμ΄μΈνΈ νμ΄λλ μ΄μ
μ μ¬μ©ν λ μ£Όμν΄μΌνλ κ²λ€ μ€ νλλ λΈλΌμ°μ μμ λ³κ²½ν μ μλ νΉμν HTML ꡬ쑰μ
λλ€. μλ₯Ό λ€μ΄ Vue ν
νλ¦Ώμ λ€μκ³Ό κ°μ΄ μμ±ν κ²½μ°μ
λλ€.</p> |
20 |
| -<pre data-md-type="block_code" data-md-language="html" data-md-index="25"><code class="locki-notrack"><table> |
21 |
| - <tr><td data-segment-id="431019">hi </td></tr> |
22 |
| -</table></code></pre> |
23 |
| -<p data-md-type="paragraph" data-md-index="33" data-segment-id="481813">λΈλΌμ°μ λ μλμΌλ‘ <code data-md-type="codespan" data-md-index="27"><tbody>μ <code data-md-type="codespan" data-md-index="29"><table>μμ μλμΌλ‘ μ£Όμ
ν©λλ€. νμ§λ§, Vueκ° μμ±ν κ°μ DOMμ <code data-md-type="codespan" data-md-index="31"><tbody>μ μ£Όμ
νλ©΄ λΆμΌμΉκ° λ°μν©λλ€. κ·Έλ¬λ―λ‘ λμΌνλλ‘ λ§λ€κΈ° μν΄ ν
νλ¦Ώμ μ ν¨ν HTMLμ μμ±ν΄μΌν©λλ€.</tbody></code> |
24 |
| -</table></code> |
25 |
| -</tbody></code></p> |
26 |
| -</div> |
27 | 16 | ```
|
| 17 | + |
| 18 | +νΉμ μμ± `data-server-rendered`μ ν΄λΌμ΄μΈνΈ μΈ‘ Vueκ° λ§ν¬μ
μ΄ μλ²μ μν΄ λ λλ§ λκ³ νμ΄λλ μ΄μ
λͺ¨λλ‘ λ§μ΄νΈλμ΄μΌνλ€κ³ μ립λλ€. |
| 19 | +κ°λ° λͺ¨λμμ Vueλ ν΄λΌμ΄μΈνΈ μΈ‘μμ λ§λ€μ΄μ§ κ°μ DOM νΈλ¦¬κ° μλ²μμ λ λλ§λ DOMꡬ쑰μ μΌμΉν¨μ λνλ
λλ€. μΌμΉνμ§ μλ λΆλΆμ΄ μμΌλ©΄ νμ΄λλ μ΄μ
μ μ€λ¨νκ³ κΈ°μ‘΄ DOMμ μμ ν ν μ²μλΆν° λ λλ§ ν©λλ€. **λ°°ν¬ λͺ¨λμμλ μ΅λ μ±λ₯μ μν΄ assertλ₯Ό νμ§ μμ΅λλ€.** |
| 20 | + |
| 21 | +### νμ΄λλ μ΄μ
μ£Όμμ¬ν |
| 22 | + |
| 23 | +SSR + ν΄λΌμ΄μΈνΈ νμ΄λλ μ΄μ
μ μ¬μ©ν λ μ£Όμν΄μΌνλ κ²λ€ μ€ νλλ λΈλΌμ°μ μμ λ³κ²½ν μ μλ νΉμν HTML ꡬ쑰μ
λλ€. μλ₯Ό λ€μ΄ Vue ν
νλ¦Ώμ λ€μκ³Ό κ°μ΄ μμ±ν κ²½μ°μ
λλ€. |
| 24 | + |
| 25 | +```html |
| 26 | +<table> |
| 27 | + <tr><td>hi</td></tr> |
| 28 | +</table> |
| 29 | +``` |
| 30 | + |
| 31 | +λΈλΌμ°μ λ μλμΌλ‘ `<tbody>`λ₯Ό `<table>` μμ μλμΌλ‘ μ£Όμ
ν©λλ€. νμ§λ§ Vueκ° μμ±ν κ°μ DOMμ `<tbody>`μ μ£Όμ
νλ©΄ λΆμΌμΉκ° λ°μν©λλ€. κ·Έλ¬λ―λ‘ λμΌνλλ‘ λ§λ€κΈ° μν΄ ν
νλ¦Ώμ μ ν¨ν HTMLμ μμ±ν΄μΌν©λλ€. |
0 commit comments