{"id":685,"date":"2022-09-28T23:59:41","date_gmt":"2022-09-28T14:59:41","guid":{"rendered":"https:\/\/www.fsquare.co.kr\/?p=685"},"modified":"2022-10-06T10:42:39","modified_gmt":"2022-10-06T01:42:39","slug":"vue%eb%a1%9c-%ec%95%b1-%eb%a7%8c%eb%93%a4%ea%b8%b0-1","status":"publish","type":"post","link":"https:\/\/www.fsquare.co.kr\/?p=685","title":{"rendered":"Vue\uc785\ubb38\/Vue\ub85c \uc571 \ub9cc\ub4e4\uae30  (1) &#8211; \uccab\ubc88\uc9f8 \uc608\uc81c \ub9cc\ub4e4\uae30"},"content":{"rendered":"\n<p>Vue\ub85c \uc571\uc744 \ub9cc\ub4e4\uae30 \uc704\ud574\uc11c\ub294 \uc6b0\uc120 vue\ub97c \uc124\uce58\ud574\uc57c \ud55c\ub2e4.&nbsp; vue.js \uc758 \uc124\uce58\ub294 <a href=\"https:\/\/www.fsquare.co.kr\/?p=667\">\uc55e\uc758 \uae00<\/a>\uc744 \ucc38\uc870\ud558\uae38 \ubc14\ub780\ub2e4. \ud2b9\ubcc4\ud55c \uc624\ub958 \uc5c6\uc774 \uc124\uce58\uac00 \ub05d\ub09c \ub2e4\uc74c vue-cli\ub85c \ud504\ub85c\uc81d\ud2b8\ub97c \ucd08\uae30\ud654 \ud558\uace0 vue \uc571\uc744 \uc791\uc131\ud558\uba74 \ub41c\ub2e4.&nbsp; \uac00\uc7a5 \uae30\ubcf8\uc801\uc778<a href=\"https:\/\/v3.ko.vuejs.org\/guide\/introduction.html\"> vue \uac00\uc774\ub4dc \ubb38\uc11c<\/a>\ub97c \ucc38\uc870\ud558\uc5ec \ud558\ub098\uc529 \ub530\ub77c\ud558\ub2e4 \ubcf4\uba74 vue \ud504\ub808\uc784\uc6cd\uc744 \uc774\ud574\ud558\uace0 \ud504\ub85c\uadf8\ub7a8\uc744 \uc798 \uc791\uc131\ud560 \uc218 \uc788\uc744 \uac83 \uac19\uc740\ub370, \uc2e4\uc81c \ud574\ubcf4\uba74 &#8230; \uc27d\uc9c0 \uc54a\ub2e4.<\/p>\n\n\n\n<p>\ub300\uccb4\ub85c \uc678\uad6d\uc560\ub4e4\uc774 \uc791\uc131\ud558\ub294 \uc5b8\uc5b4 \uc124\uba85\uc11c ( language reference documents )\ub4e4\uc740 \uc774\ud574\ud558\uae30 \uc27d\uace0 \ucd08\ubcf4\uc790\ub4e4\uc774 \uc798 \ub530\ub77c\ud560 \uc218 \uc788\ub294 \ubb38\uc11c\ub4e4\uc778\ub370, vue.js \ubb38\uc11c\ub294 \uae30\ubcf8\uc801\uc778 \uae30\uc220 \uc218\uc900\uc774 javascript\uc640 html, css \ub4f1\uc744 \uc5b4\ub290 \uc815\ub3c4 \uc774\ud574\ub97c \ud574\uc57c \uaca8\uc6b0 \ub530\ub77c\uac08 \uc218 \uc788\ub294 \uc218\uc900\uc774\ub77c \ucd08\ubcf4\uc790\uac00 \ub530\ub77c\uac00\uae34 \uc27d\uc9c0 \uc54a\ub2e4. \uc77c\ub2e8 \ucc38\uace0 \ub530\ub77c\ud574 \ubcf4\ub77c\ub294\ub370 \uadf8\ub9c8\uc800\ub3c4 \uc27d\uc9c0 \uc54a\uc740 \ud3b8\uc774\ub2e4.<\/p>\n\n\n\n<p>\uac00\uc7a5 \uae54\ub054\ud558\uac8c \ucd08\ubcf4\uc790\uac00 \uc785\ubb38\ud560 \uc218 \uc788\ub294 \ubb38\uc11c\ub294 <a href=\"https:\/\/developer.mozilla.org\/ko\/\">MDN Web Docs<\/a>\uc5d0 \uc124\uba85\ub41c <a href=\"https:\/\/developer.mozilla.org\/ko\/docs\/Learn\/Tools_and_testing\/Client-side_JavaScript_frameworks\/Vue_getting_started\">Vue \uc2dc\uc791\ud558\uae30<\/a>\ub97c \ub530\ub77c\uac00 \ubcf4\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Vue\uc758 \uc774\ud574<\/h2>\n\n\n\n<p>\uba3c\uc800 Vue\uc758 \uc815\uccb4\ub97c \uc774\ud574\ud558\ub294 \uac83\uc774 \uc911\uc694\ud558\ub2e4. Vue\ub294 framework\uc73c\ub85c \uc571\uc744 \uac1c\ubc1c\ud558\uae30 \uc704\ud55c server\uc640 client\uc5d0\uc11c \ud544\uc694\ud55c \ub2e4\uc591\ud55c \uae30\ub2a5\ub4e4\uc774 \ub9ce\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\ub2e4. \ub610\ud55c \ud544\uc694\ud55c \ubd80\ubd84\uc774 \uc788\uc73c\uba74 \ucef4\ud3ec\ub10c\ud2b8\ub85c \uacc4\uc18d \ucd94\uac00\ud558\uc5ec \uc0ac\uc6a9\ud558\uba74 \ub41c\ub2e4. \ub9c8\uce58 \uc790\ubc14\uc5d0\uc11c \ub2e4\uc591\ud55c \uae30\ub2a5\ub4e4\uc774 \ubb36\uc5ec\uc11c spring\uacfc \uac19\uc740 framework\ub85c \uad6c\uc131\ub418\uc5b4 \ud654\uba74\uad00\ub9ac, \uc138\uc158\uad00\ub9ac, \ub85c\uadf8\uc778\uad00\ub9ac, db\uc5f0\uacb0 \uad00\ub9ac, bean \uc0dd\uc131 \ubc0f \uad00\ub9ac \ub4f1\uc744 \uc790\ub3d9\ud654\ud558\uace0 \ud3b8\ub9ac\ud558\uac8c \ud558\ub4ef\uc774 Vue\uc5d0\uc11c\ub3c4 jquery\uc640 \uac19\uc740 HTML \uad6c\uc131\uc694\uc18c(html element\ub4e4)\uc744 \uc870\uc791\ud558\uac70\ub098 \uad00\ub9ac, \ub514\uc790\uc778\uc744 \uace0\ub824\ud55c \ucef4\ud3ec\ub10c\ud2b8\ub4e4 \ud1b5\ud569, \ub370\uc774\ud130 \ud578\ub4e4\ub9c1,&nbsp; \ud654\uba74\uac04\uc758 \uc5f0\uacb0 \ub4f1\uc744 \ucef4\ud3ec\ub10c\ud2b8\ub4e4\uc744 \ud1b5\ud574 \uc27d\uac8c \ud1b5\ud569\ud558\uc5ec \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p>\ub9cc\uc57d \uc6f9 \ud398\uc774\uc9c0\ub97c \uac1c\ubc1c\ud560 \ub54c jquery\ucc98\ub7fc \uac04\ub2e8\ud558\uac8c \ud654\uba74 (\ud754\ud788 frontend\ub77c\uace0 \ud558\ub294 \ubd80\ubd84 )\uc870\uc791\uc5d0 \ud544\uc694\ud55c \uae30\ub2a5\ub9cc \ud3ec\ud568\uc2dc\ud0a4\uae30 \uc704\ud574\uc11c\ub294 \uad73\uc774 framework\ub97c \ubaa8\ub450 \ud3ec\ud568\ud560 \ud544\uc694\uac00 \uc5c6\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/developer.mozilla.org\/ko\/docs\/Learn\/Tools_and_testing\/Client-side_JavaScript_frameworks\/Vue_getting_started\">vue \uc2dc\uc791\ud558\uae30<\/a>\uc5d0 \uc124\uba85\ub41c \ub2e4\uc74c\uc758 \uc608\uc81c\ub97c \ubcf4\uc790.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><span class=\"line\">&lt;script&gt;\n export default {\n  \/\/ Properties returned from data() become reactive state\n  \/\/ and will be exposed on `this`.\n  data() {\n     return {\n      count: 0<\/span>\n   <span class=\"line\">  }<\/span>\n<span class=\"line\">  },<\/span>\n<span class=\"line\">  \/\/ Methods are functions that mutate state and trigger updates.<\/span>\n<span class=\"line\">  \/\/ They can be bound as event listeners in templates.<\/span>\n<span class=\"line\">  methods: {<\/span>\n     <span class=\"line\">  increment() {<\/span>\n        <span class=\"line\">  this.count++<\/span>\n     <span class=\"line\">  }<\/span>\n<span class=\"line\">  },<\/span>\n<span class=\"line\">  \/\/ Lifecycle hooks are called at different stages<\/span>\n<span class=\"line\">  \/\/ of a component's lifecycle.<\/span>\n<span class=\"line\">  \/\/ This function will be called when the component is mounted.<\/span>\n<span class=\"line\">  mounted() {<\/span>\n    <span class=\"line\">  console.log(`The initial count is ${this.count}.`)  <\/span>\n  <span class=\"line\">}<\/span>\n<span class=\"line\">}<\/span>\n<span class=\"line\">&lt;\/script&gt;<\/span>\n<span class=\"line\">\n&lt;template&gt;\n<\/span> <span class=\"line\"> &lt;button @click=\"increment\"&gt;Count is: {{ count }}&lt;\/button&gt;<\/span> \n<span class=\"line\">&lt;\/template&gt;<\/span><\/pre>\n\n\n\n<p>\uc774\ub7f0 \uc608\uc81c\uac00 \uc788\ub2e4. \uc774 \uc608\uc81c\ub97c \uc2e4\ud589\uc2dc\ud0a4\ub294 \ubc29\ubc95\ub3c4 \uad6c\uc870\ub3c4 \uc798 \ubaa8\ub974\uc9c0\ub9cc \ubb34\uc791\uc815 \ub530\ub77c\ud558\uba74 \ubc84\ud2bc\uc744 \ub204\ub97c\ub54c \ub9c8\ub2e4 1\uc529 \uc99d\uac00\ud558\ub294 \ud504\ub85c\uadf8\ub7a8\uc744 \ub9cc\ub4e4 \uc218 \uc788\ub2e4. \uadf8\ub7fc \uc774 \ubc29\ubc95\uc740 \uc5b4\ub5a8\uae4c?<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;html&gt;\n&lt;head&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;script src=\"https:\/\/unpkg.com\/vue@3\/dist\/vue.global.js\"&gt;&lt;\/script&gt;\n\nclick button &lt;button id=\"app\" onclick=\"inc()\"&gt;{{ count }}&lt;\/button&gt;\n\n&lt;script&gt;\n  const { createApp } = Vue\n\n  let btn = createApp({\n    data() {\n      return {\n        count: 10\n      }\n    }\n  }).mount('#app')\n  \n  function inc(){\n    btn.count++;\n  }\n&lt;\/script&gt;\n&lt;\/body&gt;\n\n&lt;\/html&gt;<\/pre>\n\n\n\n<p>\uc774 \uc18c\uc2a4\ub294 vue-cli\ub97c \uc124\uce58\ud558\uc9c0\ub3c4 \uc54a\uace0, node.js\uc640 npm\uc774 \uc124\uce58\ub418\uc9c0\ub3c4 \uc54a\uc740 \uc0c1\ud0dc\uc5d0\uc11c\ub3c4 \ub611\uac19\uc774 \ubc84\ud2bc\uc744 \ud074\ub9ad\ud560 \ub54c\ub9c8\ub2e4 1\uc529 \uc99d\uac00\ud558\ub294 \ud504\ub85c\uadf8\ub7a8\uc744 vue\ub97c \uc774\uc6a9\ud574\uc11c \uc791\uc131\ud560 \uc218 \uc788\uc74c\uc744 \ubcf4\uc5ec\uc900\ub2e4.<\/p>\n\n\n\n<p>vue-cli\ub97c \uc774\uc6a9\ud558\uc5ec \ud504\ub85c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud558\uace0 \uad00\ub9ac\ud558\ub294 \uac83\uacfc script\ub97c \ubd88\ub7ec\uc640\uc11c \uc0ac\uc6a9\ud558\ub294 \uac83\uc758 \ucc28\uc774\ub294 \ubb34\uc5c7\uc77c\uae4c? <\/p>\n\n\n\n<p>html, jsp \ub4f1\uacfc \uac19\uc740 \uc77c\ubc18 \uc6f9\ud398\uc774\uc9c0\uc5d0\uc11c \uc544\ubb34 framework\uc5c6\uc774 javascript\ub85c \uc9c1\uc811 \uc791\uc131\ud558\uc5ec  vue \ud328\ud0a4\uc9c0\ub97c \ucc38\uc870\ud558\ub294 \uacbd\uc6b0 \uc0ac\uc6a9\uc790 \uc6f9 \ud654\uba74\uc5d0\uc11c vue.js\ub97c \ucc38\uc870\ud558\uc5ec \uc624\ube0c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud558\uace0 \uac01 \ubaa8\ub4c8\uc744 \ucef4\ud30c\uc77c\ud558\ub294 \ub4f1\uc758 \uc791\uc5c5\uc744 \uc218\ub3d9\uc73c\ub85c \uc2e4\ud589\ud574\uc57c \ud55c\ub2e4.  \uc774 \uacbd\uc6b0 \ud6e8\uc52c \uc790\uc720\ub3c4\uac00 \ub192\uc744 \uc218\ub3c4 \uc788\uace0 jquery\ub098 \ub2e4\ub978 js \ub77c\uc774\ube0c\ub7ec\ub9ac \ub4f1 \ub2e4\uc591\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud63c\uc6a9\ud558\uc5ec \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4. \ud558\uc9c0\ub9cc \uac1c\ubc1c \ub2e8\uacc4\uc5d0\uc11c vue-cli\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 \uc0ac\uc6a9\uc790 \ud504\ub85c\uc81d\ud2b8 \ud3f4\ub354\uc5d0 \uae30\ubcf8\uc801\uc774 \ud658\uacbd \uc124\uc815\uacfc \ucd94\uac00\uc801\uc778 \ud328\ud0a4\uc9c0\uc640 \ucef4\ud3ec\ub10c\ud2b8 \ub4f1\uc744 \ubbf8\ub9ac \ud3ec\ud568\ud574\uc11c \ubf08\ub300\ub97c \uc7a1\uc544\uc8fc\ubbc0\ub85c \ud3b8\ub9ac\ud560 \uc218 \uc788\uace0, \uae30\ubcf8\uc801\uc778 \ubc18\ubcf5\uc791\uc5c5\uc744 \ud560 \ud544\uc694\uac00 \uc5c6\uc73c\uba70,  \ud234\uc744 \uc774\uc6a9\ud558\uc5ec \ud3b8\ub9ac\ud558\uac8c \uac1c\ubc1c\ud558\ub3c4\ub85d \uc9c0\uc6d0\ud558\uba70, \uc18c\uc2a4\ub97c \ucef4\ud329\ud2b8\ud558\uac8c \uc791\uc131\ud558\uac70\ub098 \uacbd\ub7c9\ud654 \ud560 \uc218 \uc788\uc73c\uba70 \ucef4\ud3ec\ub10c\ud2b8\ud654 \ud558\uc5ec \uc7ac\uc0ac\uc6a9\uc774 \uac00\ub2a5\ud558\ub3c4\ub85d \ud55c\ub2e4\ub4e0\uc9c0 \ud558\ub294 \ub9ce\uc740 \uc7a5\uc810\uc744 \ucd94\uac00\ub85c \uc5bb\uc744 \uc218 \uc788\ub2e4.  <\/p>\n\n\n\n<p>\uadf8\ub7ec\ubbc0\ub85c \uc774\uc81c\ubd80\ud130\ub294 javascript\ub0b4\uc5d0 vue.js\ub97c \ucc38\uc870\ud558\ub294 \ubc29\ubc95 \ub9d0\uace0 vue-cli\ub97c \uc774\uc6a9\ud558\uc5ec \ud504\ub85c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud558\uace0 \ucef4\ud3ec\ub10c\ud2b8\ub97c \ucd94\uac00\ud558\ub294 \ubc29\ubc95\uc744 \uc54c\uc544 \ubcf4\uae30\ub85c \ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \uccab \ubc88\uc9f8 \ud504\ub85c\uc81d\ud2b8<\/h2>\n\n\n\n<p>\uc774\ubbf8 node.js\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uace0 vue-cli\ub97c \uc124\uce58\ud55c \uc0c1\ud669\uc5d0\uc11c \ud504\ub85c\uc81d\ud2b8\ub97c \ub9cc\ub4e0\ub2e4. \uc6b0\uc120 \ud504\ub85c\uc81d\ud2b8 \ub514\ub809\ud1a0\ub9ac(\ud3f4\ub354)\ub97c \uc0dd\uc131\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Window\uc758 Command \ucc3d\nC:\\&gt; <strong>cd \\<\/strong>\nC:\\&gt; <strong>mkdir Project<\/strong>\nC:\\&gt; <strong>cd Project<\/strong>\nC:\\Project&gt; <strong>mkdir vue<\/strong>\nC:\\Project&gt; <strong>cd vue<\/strong>\nC:\\Project\\vue&gt; <\/pre>\n\n\n\n<p>\uc0ac\uc2e4 window\uc758 explorer\ub97c \ub744\uc6cc \uadf8\ub0e5 \ud3f4\ub354\ub97c \uc0dd\uc131\ud574\ub3c4 \ub3d9\uc77c\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Linux\uc758 \uacbd\uc6b0 Terminal (term, xterm \ub4f1)\n[user@centos ~] <strong>mkdir project<\/strong>\n[user@centos ~] <strong>cd project<\/strong>\n[user@centos project] <strong>mkdir vue<\/strong>\n[user@centos project] <strong>cd vue<\/strong>\n[user@centos vue ]<\/pre>\n\n\n\n<p>\uc774\uc81c vue project\ub97c \uc0dd\uc131\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">vue create Hello<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-10.png\"><img decoding=\"async\" src=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-10-edited-1.png\" alt=\"\" class=\"wp-image-692\" width=\"663\" srcset=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-10-edited-1.png 682w, https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-10-edited-1-300x169.png 300w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><\/a><\/figure>\n\n\n\n<p>\ud654\uc0b4\ud45c \ud0a4\ubcf4\ub4dc\ub97c \uc774\uc6a9\ud558\uc5ec \uc62e\uaca8 \ub2e4\ub2c8\uba70 \uc120\ud0dd\ud560 \uc218 \uc788\ub2e4. \uc2dc\ud5d8\uc0bc\uc544 Manually select features\ub85c \ud574 \ubd10\ub3c4 \uc88b\uc744 \uac83\uc774\ub2e4. Manually select features\uc5d0\uc11c\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \ud3ec\ud568\ud560 \ubc88\ub4e4\uc744 \uc120\ud0dd\ud560 \uc218 \uc788\ub294 \ud654\uba74\uc73c\ub85c \ub118\uc5b4\uac00\uace0 Default Vue3\ub85c \ud558\uba74 babel\uacfc lint\ub97c \uc774\uc6a9\ud558\ub3c4\ub85d \uc124\uc815\ub41c\ub2e4. \uc77c\ub2e8 \uccab\ubc88\uc9f8\ub85c \ub4e4\uc5b4\uac00\ubcf4\uc790. \uc5d4\ud130\ud0a4\ub97c \uce5c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-11.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-11-edited.png\" alt=\"\" class=\"wp-image-694\" width=\"672\" height=\"378\" srcset=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-11-edited.png 909w, https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-11-edited-300x169.png 300w, https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-11-edited-768x433.png 768w\" sizes=\"auto, (max-width: 672px) 100vw, 672px\" \/><\/a><\/figure>\n\n\n\n<p>\ubb54\uac00 \uc5f4\uc2ec\ud788 \uc124\uce58\ud55c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-12.png\"><img loading=\"lazy\" decoding=\"async\" width=\"682\" height=\"512\" src=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-12-edited.png\" alt=\"\" class=\"wp-image-696\" srcset=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-12-edited.png 682w, https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-12-edited-300x225.png 300w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/a><\/figure>\n\n\n\n<p>\ucef4\ud30c\uc77c \ub610\ub294 \ucd08\uae30 \uc124\uc815\uc744 \ub2e4 \ud588\ub2e8\ub2e4. \ud560 \uc77c\uc740 \uc81c\uc77c \ub9c8\uc9c0\ub9c9 \ub450 \uc904\uc774\ub2e4. cd hello \ud558\uace0 npm run serve\ub97c \uc2e4\ud589\ud558\uc5ec \ud398\uc774\uc9c0\ub97c \uc6f9\uc11c\ubc84\uc5d0 \ub744\uc6b0\ub294 \uc77c\uc774\ub2e4.<\/p>\n\n\n\n<p>\uadf8\ub7f0\ub370, \uc0b4\uc9dd \ud638\uae30\uc2ec\uc774 \ub4e4\uc5b4 \ub3c4\ub300\uccb4 vue\uac00 \ubb34\uc2a8 \uc791\uc5c5\uc744 \ud588\ub294\uc9c0 \ud655\uc778\ud574 \ubcf4\uace0 \uc2f6\uc5c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">C:\\project\\vue&gt; cd hello\nC:\\project\\vue\\hello&gt; dir<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-13.png\"><img loading=\"lazy\" decoding=\"async\" width=\"682\" height=\"512\" src=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-13-edited.png\" alt=\"\" class=\"wp-image-698\" srcset=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-13-edited.png 682w, https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-13-edited-300x225.png 300w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/a><\/figure>\n\n\n\n<p>\ub0b4\uce5c\uae40\uc5d0 notepad(\uba54\ubaa8\uc7a5)\ub97c \uc774\uc6a9\ud558\uc5ec jsconfig.json \ud30c\uc77c\ub3c4 \ubcf4\uace0 src \ub514\ub809\ud1a0\ub9ac \ubc11\uc5d0 \uc788\ub294 App.vue \ud30c\uc77c\ub3c4 \ud655\uc778\uc744 \ud574 \ubcf4\uc558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>jsconfig.json \ud30c\uc77c<\/em>\n\n{\n  \"compilerOptions\": {\n    \"target\": \"es5\",\n    \"module\": \"esnext\",\n    \"baseUrl\": \".\/\",\n    \"moduleResolution\": \"node\",\n    \"paths\": {\n      \"@\/*\": [\n        \"src\/*\"\n      ]\n    },\n    \"lib\": [\n      \"esnext\",\n      \"dom\",\n      \"dom.iterable\",\n      \"scripthost\"\n    ]\n  }\n}<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>src \ub514\ub809\ud1a0\ub9ac \ub0b4\uc758 App.vue \ud30c\uc77c<\/em>\n\n&lt;template&gt;\n  &lt;img alt=\"Vue logo\" src=\".\/assets\/logo.png\"&gt;\n  &lt;HelloWorld msg=\"Welcome to Your Vue.js App\"\/&gt;\n&lt;\/template&gt;\n\n&lt;script&gt;\nimport HelloWorld from '.\/components\/HelloWorld.vue'\n\nexport default {\n  name: 'App',\n  components: {\n    HelloWorld\n  }\n}\n&lt;\/script&gt;\n\n&lt;style&gt;\n#app {\n  font-family: Avenir, Helvetica, Arial, sans-serif;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  text-align: center;\n  color: #2c3e50;\n  margin-top: 60px;\n}\n&lt;\/style&gt;\n<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>Public \ub514\ub809\ud1a0\ub9ac \ub0b4\uc758 index.html \ud30c\uc77c<\/em>\n\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"\"&gt;\n  &lt;head&gt;\n    &lt;meta charset=\"utf-8\"&gt;\n    &lt;meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\"&gt;\n    &lt;link rel=\"icon\" href=\"&lt;%= BASE_URL %&gt;favicon.ico\"&gt;\n    &lt;title&gt;&lt;%= htmlWebpackPlugin.options.title %&gt;&lt;\/title&gt;\n  &lt;\/head&gt;\n  &lt;body&gt;\n    &lt;noscript&gt;\n      &lt;strong&gt;We're sorry but &lt;%= htmlWebpackPlugin.options.title %&gt; doesn't work properly without JavaScript enabled. Please enable it to continue.&lt;\/strong&gt;\n    &lt;\/noscript&gt;\n    &lt;div id=\"app\"&gt;&lt;\/div&gt;\n    &lt;!-- built files will be auto injected --&gt;\n  &lt;\/body&gt;\n&lt;\/html&gt;\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. \uc6f9 \uac8c\uc2dc<\/h2>\n\n\n\n<p>\uc774\uc81c \ud654\uba74\uc5d0 \ub744\uc6cc\uc11c \ubb50\uac00 \ub9cc\ub4e4\uc5b4\uc84c\ub294\uc9c0 \ud655\uc778\ud574 \ubcf4\uae30 \uc704\ud574 npm  run  serve\ub3c4 \uc2e4\ud589\ud574 \ubcf4\uc558\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-14.png\"><img loading=\"lazy\" decoding=\"async\" width=\"682\" height=\"384\" src=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-14-edited-1.png\" alt=\"\" class=\"wp-image-701\" srcset=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-14-edited-1.png 682w, https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-14-edited-1-300x169.png 300w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/a><\/figure>\n\n\n\n<p>\ud654\uba74\uc5d0 \uc9c0\uc2dc\ud55c\ub300\ub85c \uc6f9\ube0c\ub77c\uc6b0\uc800\ub97c \ub744\uc6cc http:\/\/localhost:8080\/ \uc744 \uc8fc\uc18c\ucc3d\uc5d0 \uc785\ub825\ud574 \ubcf4\ub2c8 \ubb54\uac00 \ub728\uae34 \ub5b4\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-15.png\"><img loading=\"lazy\" decoding=\"async\" width=\"721\" height=\"742\" src=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-15.png\" alt=\"\" class=\"wp-image-702\" srcset=\"https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-15.png 721w, https:\/\/www.fsquare.co.kr\/wp-content\/uploads\/2022\/09\/image-15-292x300.png 292w\" sizes=\"auto, (max-width: 721px) 100vw, 721px\" \/><\/a><\/figure>\n\n\n\n<p>\uc0dd\uc131\ub41c \ud504\ub85c\uc81d\ud2b8 \uad6c\uc870\ub97c \uac04\ub2e8\ud788 \ud655\uc778\ud558\uace0 \ub118\uc5b4\uac00\uc790\uba74 <\/p>\n\n\n\n<p>\ub514\ub809\ud1a0\ub9ac\ub294 node_modules, public, src \uc138\uac1c\uac00 \uae30\ubcf8\uc801\uc73c\ub85c \uc0dd\uae30\uace0 public \uc544\ub798\uc5d0\ub294 favicon\uacfc index.html\uc774 src \uc544\ub798\uc5d0 vue\uc640 \uc2e4\uc81c \ud654\uba74\uc5d0 \ud45c\ud604\ub418\ub294 \uc18c\uc2a4 \uaca9\uc758 \ud30c\uc77c\ub4e4\uc774 \ub4e4\uc5b4 \uc788\ub2e4. \uc774 \ud30c\uc77c\ub4e4\uc744 \uc218\uc815\ud558\uc5ec \uc6b0\ub9ac\uac00 \ud654\uba74\uc5d0 \ubcf4\uc5ec\uc8fc\uace0\uc790 \ud558\ub294 \ud30c\uc77c\ub4e4\uc744 \ub9cc\ub4e4\uba74 \ub41c\ub2e4. \uc774 \ud30c\uc77c\ub4e4\uc774 build\uacfc\uc815\uc744 \uac70\uce58\uba74 html \ud30c\uc77c\uacfc css, js \ud30c\uc77c\ub4e4\ub85c \ubd84\ub9ac\ub418\uc5b4 \uc0dd\uc131\ub41c\ub2e4.<\/p>\n\n\n\n<p>\uc77c\ub2e8 \uc5ec\uae30\uae4c\uc9c0 \ud574\uc11c \uccab\ubc88\uc9f8 vue \ud398\uc774\uc9c0\ub97c \ub744\uc6cc \ubd24\ub2e4.  \uac04\ub2e8\ud788 \uad6c\uc870\ub97c \ubcf4\uba74 src \ub514\ub809\ud1a0\ub9ac \ub0b4\uc5d0 \uae30\ubcf8\uc801\uc778 App.vue \ud30c\uc77c\uacfc main.js \ud30c\uc77c\uc774 \uc788\ub294\ub370 \uc774 \ub450\uac1c\uc758 \ud30c\uc77c\uc774 \ud654\uba74\uc744 \uad6c\uc131\ud558\uae30 \uc704\ud55c \uae30\ubcf8 \uc694\uc18c\ub4e4\uc774\ub2e4. \uc774 \ud30c\uc77c\ub4e4\uc744 \uc218\uc815\ud558\uba74 \ucef4\ud30c\uc77c\ub41c index.html \ud30c\uc77c\ub85c \uc6b0\ub9ac\uac00 \ub9cc\ub4e4\uace0\uc790 \ud558\ub294 \ud654\uba74\uc774 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc744\uae4c \ud55c\ub2e4. \uc544\uc9c1 DB\ub97c \ub04c\uc5b4\uc624\uace0 \ud654\uba74\uc5d0 \uac8c\uc2dc\ud310\uacfc \ucc28\ud2b8\ub97c \ub744\uc6b0\uace0 \ud578\ub4dc\ud3f0\uc5d0\uc11c \uc0ac\uc9c4\ub4e4\uc744 \uad00\ub9ac\ud558\ub294 \uae30\ub2a5\uc744 \ub9cc\ub4e4\uae30\uc5d0\ub294 2% \ubd80\uc871\ud558\uc9c0\ub9cc \uc77c\ub2e8 vue\ub85c \ubb58 \ud560 \uc218 \uc788\ub294\uc9c0 \ub9db\ubcf4\uae30 \uc815\ub3c4 \ub05d\ub0c8\ub2e4\uace0 \ud560 \uc218 \uc788\uaca0\ub2e4. \ub05d.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vue\ub85c \uc571\uc744 \ub9cc\ub4e4\uae30 \uc704\ud574\uc11c\ub294 \uc6b0\uc120 vue\ub97c \uc124\uce58\ud574\uc57c \ud55c\ub2e4.&nbsp; vue.js \uc758 \uc124\uce58\ub294 \uc55e\uc758 \uae00\uc744 \ucc38\uc870\ud558\uae38 \ubc14\ub780\ub2e4. \ud2b9\ubcc4\ud55c \uc624\ub958 \uc5c6\uc774 \uc124\uce58\uac00 \ub05d\ub09c \ub2e4\uc74c vue-cli\ub85c \ud504\ub85c\uc81d\ud2b8\ub97c \ucd08\uae30\ud654 \ud558\uace0 vue \uc571\uc744 \uc791\uc131\ud558\uba74 \ub41c\ub2e4.&nbsp; \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 vue \uac00\uc774\ub4dc \ubb38\uc11c\ub97c \ucc38\uc870\ud558\uc5ec \ud558\ub098\uc529 \ub530\ub77c\ud558\ub2e4 \ubcf4\uba74 vue \ud504\ub808\uc784\uc6cd\uc744 \uc774\ud574\ud558\uace0 \ud504\ub85c\uadf8\ub7a8\uc744 \uc798 \uc791\uc131\ud560 \uc218 \uc788\uc744 \uac83 \uac19\uc740\ub370, \uc2e4\uc81c \ud574\ubcf4\uba74 &#8230; \uc27d\uc9c0 \uc54a\ub2e4. \ub300\uccb4\ub85c \uc678\uad6d\uc560\ub4e4\uc774 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[29,25,30],"class_list":["post-685","post","type-post","status-publish","format-standard","hentry","category-vue","tag-vue"],"_links":{"self":[{"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/685","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=685"}],"version-history":[{"count":8,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/685\/revisions"}],"predecessor-version":[{"id":790,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/685\/revisions\/790"}],"wp:attachment":[{"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}