๋ค ๊ทธ๋ ค์ ธ ์์ง ์์ HTMLํ์ด์ง๋ฅผ ๋ธ๋ผ์ฐ์ ์์ ๋ฐ๊ณ ํ๋ฐํธ์๋ ํ๋ ์์ํฌ(์ต๊ทค๋ฌ, ๋ทฐ, ๋ฆฌ์กํธ)์ ๊ฐ์
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ์ฌ ๋๋ฒ์ง ๋ถ๋ถ์ ๊ทธ๋ฆฌ๋ ๊ฒ์ ์๋ฏธํ๋ค.
<html>
<head>
<title>Vue client Side Rendering</title>
</head>
<body>
<div id="app">
{{ message }}
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.2/dist/vue.js"></script>
<script>
var cmp = {
template: `<ul><li>item1</li><li>item2</li></ul>`
};
new Vue({
el:'#app',
data: {
message: 'Hello Vue.js!'
},
components: {
'list-component' : cmp
}
});
</script>
</body>
</html>
์๋ฒ์ ๋ณด๋ด์ค HTMLํ์ผ์ ๋ฐ์์ ๋, ๋ธ๋ผ์ฐ์ ๊ฐ ์ด HTMLํ์ผ์ ํ๋ฉด์ ๋ก๋ฉํ๋ฉด์ ๋ทฐ ํ๋ ์์ํฌ๋ฅผ ์ด์ฉํ์ฌ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ค.
<ul>
ํ๊ทธ์ <li>
ํ๊ทธ๋ฅผ ํ
๋ธ๋ฆฟ ์์ฑ์ ์์ฑํ์ฌ ํ๋ฉด์ ๋ถ์ฌ ๋ฃ๋๋ค.
(์ฅ์ ) ํ์ํ ๋ฐ์ดํฐ๋ง ๋ฐฑ์๋์์ ๊ฐ์ ธ์ ์๋ฒ ๋ถํ๊ฐ ๋ํ๋ค.
(๋จ์ ) jsํ์ผ ๋ค์ด๋ก๋๋ก ์ด๊ธฐ ์ง์ ์๋๊ฐ ๋๋ฆด ์ ์๋ค.
(๋จ์ ) SSR์ ๋นํด SEO(๊ฒ์ ์์ง ์ต์ ํ)์ ์ทจ์ฝํ๋ค.
์๋ฒฝํ ๊ทธ๋ ค์ง HTMLํ์ด์ง๋ฅผ ๋ธ๋ผ์ฐ์ ์์ ๋ฐ๋ ๊ฒ์ ์๋ฏธํ๋ค.
<body>
<div id="app">
Hello Vue.js!
<ul>
<li>item1</li>
<li>item2</li>
</ul>
</div>
</body>
<ul>
<li>
ํ๊ทธ ๊ฐ ์ด๋ฏธ ์๋ฒฝํ๊ฒ ๊ทธ๋ ค์ ธ ์๋ค.(์ฅ์ ) CSR๋ณด๋ค ์ด๊ธฐ ํ๋ฉด ๋ ๋๋ง ์๋๊ฐ ๋น ๋ฅด๋ค.
(๋จ์ ) ํด๋ฆญ์ผ๋ก ์ธํ ๋ค๋ฅธ ์์ฒญ์ด ์๊ธธ๋๋ง๋ค ๋ถํ์ํ ๋ถ๋ถ๊น์ง ๋ค์ ๋ ๋๋ง ํ๊ฒ ๋์ด ์๋ฒ ๋ถํ ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.