include html

html¿¡¼­ htmlÀ» Æ÷ÇÔÇÏ´Â ¹æ¹ýÀÌ ¾øÀ»±î?

ÇѶ§´Â "html import" Áö¿øÀÌ ÀϺΠÀ¥ºê¶ó¿ìÁ®¿¡¼­ Áö¿ø µÇ¾úÁö¸¸ ¿©·¯°¡Áö ÀÌÀ¯·Î ÀÎÇؼ­ »ç¶óÁø ±â´ÉÀÌ´Ù.
jqueryÀÇ ·Îµå³ª W3SchoolÀÇ includeHTMLÀº À¥¼­¹öÀÇ Æú´õ¿¡¼­ ½ÇÇàÇØ¾ß Á¤»óÀûÀ¸·Î ½ÇÇàÀÌ µÈ´Ù.

innerHTML°ú  Template StringsÀ» ÀÌ¿ëÇؼ­ HTML import¸¦ ´ëüÇغ¸ÀÚ.
import HTMLó·³ HTML¿¡ Á÷Á¢ Ãß°¡´Â ¾ÈµÇ°í ÀÚ¹Ù½ºÅ©¸³Æ®·Î Ãß°¡ÇØ¾ß ÇÑ´Ù.

¿©·¯¶óÀÎÀÇ ¹®ÀÚ¿­À» »ç¿ë ÇÒ·Á¸é ´ÙÀ½°ú °°ÀÌ µÎ°¡Áö ¹æ¹ýÀ¸·Î »ç¿ëÇÑ´Ù.

ù° ¹æ¹ý
const bookStyle =
   ".book-style { "
   +"   display: block;"
   +"   width: 300px;"
   +"   background-color: gold;"
  +"}";

µÑ° ¹æ¹ý
const bookStyle =
   ".book-style { \
        display: block; \
        width: 300px; \
        background-color: gray; \
    }";

Template Strings ȍ

Template StringsÀ» »ç¿ëÇÏ¸é ´ÙÀ½°ú °£´ÜÇÏ°Ô ÇÒ¼ö ÀÖ´Ù.

Template StringsÀº " ¹®ÀÚµµ ¾Æ´Ï°í ' ¹®ÀÚµµ ¾Æ´Ñ ¾îÆÛ½ºÆ®·ÎÇÇ ` ¹®ÀÚ¸¦ »ç¿ëÇÑ´Ù.

Template StringsÀ¸·Î Ç¥ÇöÇÏ¸é ´ÙÀ½°ú °°´Ù.

const bookStyle = `
    .book-style {
        display: block;
        width: 300px;
        background-color: gold;
    }
`;

¹®ÀÚ¿­ Áß°£¿¡ º¯¼öµµ ³ÖÀ»¼ö ÀÖ´Ù.
$¿Í Áß°ýÈ£¸¦ »ç¿ëÇØ º¯¼ö¸¦ »ç¿ë ÇÒ¼öµµ ÀÖ´Ù.

${º¯¼ö}

const markup = `
 <div class="book-style">
    <h2>${book.title}</h2>
    <p>index = ${book.index}</p>
    <p>price = ${book.price}</p>
 </div>
`;

½ºÅ¸ÀÏ Class Ãß°¡

ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­ ½ºÅ¸ÀÏ Å¬·¡½º¸¦ Ãß°¡ÇÏ´Â ÇÔ¼ö´Â ´ÙÀ½°ú °°´Ù.

function writeStyles(styleNameId, cssText) {
    var styleElement = document.getElementById(styleNameId);
    if (styleElement)
        document.getElementsByTagName('head')[0].removeChild(styleElement);
    styleElement = document.createElement('style');
    styleElement.type = 'text/css';
    styleElement.id = styleNameId;
    styleElement.innerHTML = cssText;
    document.getElementsByTagName('head')[0].appendChild(styleElement);
}

´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù.
¹®ÀÚ¿­ bookStyleÀÇ ".book-style" Ŭ·¡½º°¡ Çì´õ¿¡ Ãß°¡µÈ´Ù.

writeStyles('book_style_id', bookStyle);

Ãß°¡µÈ ½ºÅ¸ÀÏÀÇ Å¬·¡½º¸¦ ³ëµå Æ®¸®¿¡¼­ º¸¸é ´ÙÀ½°ú °°´Ù.


writeStyles°ú innerHTML »ç¿ë


writeStylesÀ» »ç¿ëÇØ Å¬·¡½º¸¦ Ãß°¡ÇÏ°í innerHTMLÀ» »ç¿ëÇØ º»¹®¿¡ ¿ä¼Ò¸¦ Ãß°¡ÇØ º¸ÀÚ.

template_test.html ÆÄÀÏ
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Template Strings Test</title>
    <style>

    </style> 
</head>
<body>

</body>
<script src="mytemplate.js"></script> 
<script>
writeStyles('book_style_id', bookStyle);
document.body.innerHTML = markup;
</script>
</html>

mytemplate.js ÆÄÀÏ
const book = {
    index: 777,
    title: 'C++ master',
    price: '30000 won'
}

const markup = `
 <div class="book-style">
    <h2>${book.title}</h2>
    <p>index = ${book.index}</p>
    <p>price = ${book.price}</p>
 </div>
`;

const bookStyle = `
    .book-style {
        display: block;
        width: 300px;
        background-color: gold;
    }
`;

function writeStyles(styleNameId, cssText) {
    var styleElement = document.getElementById(styleNameId);
    if (styleElement)
        document.getElementsByTagName('head')[0].removeChild(styleElement);
    styleElement = document.createElement('style');
    styleElement.type = 'text/css';
    styleElement.id = styleNameId;
    styleElement.innerHTML = cssText;
    document.getElementsByTagName('head')[0].appendChild(styleElement);
}

Ãâ·Â°á°ú´Â ´ÙÀ½°ú °°´Ù.


Å×½ºÆ® ÆÄÀÏ:
mytemplate.js
template_test.html

ÂüÁ¶)
https://wesbos.com/template-strings-html/

W3school. w3-include-html  »ç¿ë
https://www.w3schools.com/howto/howto_html_include.asp
http://webpublishing.tistory.com/80
http://sjh836.tistory.com/52