{"id":442,"date":"2026-08-12T00:03:43","date_gmt":"2026-08-12T00:03:43","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/442\/"},"modified":"2026-08-12T00:03:43","modified_gmt":"2026-08-12T00:03:43","slug":"vue-rc%ec%99%80-nuxt-%eb%a0%8c%eb%8d%94%eb%a7%81-%ea%b2%bd%ea%b3%84%ec%9d%98-3%ec%9d%bc-%ea%b2%80%ec%a6%9d-%ed%8f%ac%ec%9d%b8%ed%8a%b8-three-day-validation-points-for-vue-rc-and-nuxt-rendering-bound","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/442\/","title":{"rendered":"Vue RC\uc640 Nuxt \ub80c\ub354\ub9c1 \uacbd\uacc4\uc758 3\uc77c \uac80\uc99d \ud3ec\uc778\ud2b8 | Three-Day Validation Points for Vue RC and Nuxt Rendering Boundaries"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/gilnas.synology.me\/wordpress\/wp-content\/uploads\/2026\/08\/nuxt-trend-hero-10.png\" alt=\"Vue RC\uc640 Nuxt \ub80c\ub354\ub9c1 \uacbd\uacc4\uc758 3\uc77c \uac80\uc99d \ud3ec\uc778\ud2b8 | Three-Day Validation Points for Vue RC and Nuxt Rendering Boundaries\" \/><\/figure>\n<p><strong>\ud575\uc2ec \ub2f5\ubcc0:<\/strong> 2026\ub144 8\uc6d4 9\uc77c~12\uc77c(KST) Nuxt\/Vue \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\uc5d0\uc11c \uc989\uc2dc \uc124\uce58 \uac00\ub2a5\ud55c \uc0c8 \ud575\uc2ec \ub9b4\ub9ac\uc988\ub294 <a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.6.0-rc.3\" target=\"_blank\" rel=\"noopener\">Vue 3.6.0-rc.3<\/a>\uc774\uba70, \uc774\ub294 <strong>\uc815\uc2dd\ud310\uc774 \uc544\ub2cc RC<\/strong>\ub2e4. Vapor compiler\/runtime, async hydration, KeepAlive\u00b7Teleport \uc0c1\ud638\uc6b4\uc6a9\uc131\uc758 \uc218\uc815\uc774 \uc9d1\uc911\ub410\uc73c\ubbc0\ub85c, Nuxt \uc571\uc740 production \uc5c5\uadf8\ub808\uc774\ub4dc\ubcf4\ub2e4 \ubcc4\ub3c4 canary\uc5d0\uc11c SSR\u00b7hydration \ud68c\uadc0\ub97c \uba3c\uc800 \ud655\uc778\ud558\ub294 \ud3b8\uc774 \uc548\uc804\ud558\ub2e4.<\/p>\n<p><strong>\uc694\uc57d:<\/strong> \uc774\ubc88 3\uc77c \ub9ac\ud3ec\ud2b8\uc758 \ud575\uc2ec\uc740 \u201c\ud070 \ubc84\uc804 \uc810\ud504\u201d\uac00 \uc544\ub2c8\ub77c \ub80c\ub354\ub9c1 \uacbd\uacc4\uc758 \uc548\uc815\ud654\ub2e4. Nuxt\uc640 Unhead\uc758 \ucd5c\uadfc <code>main<\/code> \ucee4\ubc0b\uc740 Vite \ud50c\ub7ec\uadf8\uc778 \ubc30\uce58, payload state, head \ud15c\ud50c\ub9bf \ucc98\ub9ac \ube44\uc6a9\uc744 \ub2e4\ub8e8\uc9c0\ub9cc \uc544\uc9c1 \ub9b4\ub9ac\uc988\uac00 \uc544\ub2c8\ub2e4. \ubc30\ud3ec \uac00\ub2a5\ud55c \uae30\uc900\uc120\uc740 \ud604\uc7ac \uc124\uce58\ub41c \uc548\uc815 \ubc84\uc804\uc744 \uc720\uc9c0\ud558\uace0, Vue RC \ubc0f <code>main<\/code> \ubcc0\uacbd\uc740 \uc7ac\ud604 \uac00\ub2a5\ud55c \ud14c\uc2a4\ud2b8 \ub9e4\ud2b8\ub9ad\uc2a4\ub85c \ubd84\ub9ac\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<h2>3\uc77c \uacb0\ub860<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> Vue 3.6.0-rc.3\ub294 8\uc6d4 11\uc77c \ub9b4\ub9ac\uc988\ub410\uace0, \uacf5\uc2dd changelog\uc5d0\ub294 SFC compiler\uc758 cached type reference \ucc98\ub9ac\uc640 Vapor\uc758 <code>v-model<\/code>, directive, async hydration, KeepAlive, Teleport \uad00\ub828 \uc218\uc815\uc774 \uae30\ub85d\ub3fc \uc788\ub2e4. <strong>\ud574\uc11d:<\/strong> Vue 3.6\uc744 \uc900\ube44\ud558\ub294 \ud300\uc740 \ud2b9\ud788 hydration\uacfc \uce90\uc2dc\ub41c \ucef4\ud3ec\ub10c\ud2b8 \uacbd\uacc4\ub97c \ud14c\uc2a4\ud2b8\ud574\uc57c \ud55c\ub2e4. <strong>\uc8fc\uc758:<\/strong> Nuxt\u00b7Unhead\u00b7Vue\uc758 \uc544\ub798 main-branch \ud56d\ubaa9\uc740 \ud5a5\ud6c4 \ub9b4\ub9ac\uc988 \ud6c4\ubcf4\uc778 \uac1c\ubc1c \uc791\uc5c5\uc774\uba70, \uc6b4\uc601 \uc758\uc874\uc131\uc5d0 SHA\ub97c \uac15\uc81c \uace0\uc815\ud558\ub77c\ub294 \uad8c\uace0\uac00 \uc544\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\uc9c0\uae08 \ud560 \uc77c:<\/strong> Vue 3.6 RC\ub97c \ubcc4\ub3c4 lockfile\/canary\uc5d0\uc11c SSR hydration\uacfc KeepAlive\u00b7Teleport \uc2dc\ub098\ub9ac\uc624\ub85c \uac80\uc99d\ud55c\ub2e4.<\/li>\n<li><strong>\ubc30\ud3ec \uae30\uc900:<\/strong> Nuxt\/Vite \uc548\uc815 \ubc84\uc804\uc740 \uc720\uc9c0\ud558\uace0, Vite 8.2.1\uc744 \uc774\ubbf8 \uc4f0\ub294 \ud504\ub85c\uc81d\ud2b8\ub9cc build\u00b7HMR\u00b7CSS \ucd9c\ub825 \ud68c\uadc0\ub97c \ud655\uc778\ud55c\ub2e4.<\/li>\n<li><strong>\uad00\ucc30 \uae30\uc900:<\/strong> main \ucee4\ubc0b\uc740 \ub9b4\ub9ac\uc988 \ub178\ud2b8\uac00 \ub098\uc624\uae30 \uc804\uae4c\uc9c0 \uae30\ub2a5 \uc57d\uc18d\uc774 \uc544\ub2c8\ub77c \ud14c\uc2a4\ud2b8 \uc2e0\ud638\ub85c\ub9cc \uc0ac\uc6a9\ud55c\ub2e4.<\/li>\n<\/ul>\n<h2>1. Vue 3.6.0-rc.3: Vapor\u00b7hydration \uacbd\uacc4\uc758 RC \uc548\uc815\ud654<\/h2>\n<h3>\ud655\uc778\ub41c \ubcc0\uacbd<\/h3>\n<p><a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.6.0-rc.3\" target=\"_blank\" rel=\"noopener\">Vue 3.6.0-rc.3<\/a>\ub294 8\uc6d4 11\uc77c \uacf5\uac1c\ub410\ub2e4. \uacf5\uc2dd <a href=\"https:\/\/github.com\/vuejs\/core\/blob\/minor\/CHANGELOG.md\" target=\"_blank\" rel=\"noopener\">minor changelog<\/a>\ub294 <code>compiler-sfc<\/code>\uac00 cached type references\ub97c \ubd88\ud544\uc694\ud558\uac8c \uc21c\ud68c\ud558\uc9c0 \uc54a\ub3c4\ub85d \uace0\uce5c \uc810, Vapor compiler\uc758 hidden binding\u00b7<code>v-model<\/code>\u00b7optional chaining\u00b7custom directive \ucc98\ub9ac \ubcf4\uc815, \uadf8\ub9ac\uace0 runtime-vapor\uc758 async hydration\u00b7KeepAlive\u00b7Teleport\u00b7slot\/props \uc0c1\ud638\uc6b4\uc6a9\uc131 \ubcf4\uc815\uc744 \uc5f4\uac70\ud55c\ub2e4. \uc989, \uc0c8 \uae30\ub2a5\uc744 \ub113\ud788\uae30\ubcf4\ub2e4 \uc544\uc9c1 \uc815\uc2dd\ud654\ub418\uc9c0 \uc54a\uc740 \ub80c\ub354\ub9c1 \uacbd\ub85c\uc758 \uc815\ud655\uc131\uc744 \ub2e4\ub4ec\ub294 RC\ub2e4.<\/p>\n<p><strong>\uc65c \uc911\uc694\ud55c\uac00:<\/strong> Nuxt SSR\uc740 \uc11c\ubc84 HTML\uacfc \ud074\ub77c\uc774\uc5b8\ud2b8 hydration\uc774 \uac19\uc740 \ud2b8\ub9ac \ud574\uc11d\uc5d0 \ub3c4\ub2ec\ud574\uc57c \ud55c\ub2e4. async setup, Suspense, \ub3d9\uc801 directive, cached view, Teleport\uac00 \uacb9\uce58\ub294 \ud654\uba74\uc740 \uc77c\ubc18 \ub2e8\uc704 \ud14c\uc2a4\ud2b8\ub9cc\uc73c\ub85c\ub294 \ub193\uce58\uae30 \uc27d\ub2e4. \uc774\ubc88 changelog\ub294 \ubc14\ub85c \uadf8 \uad50\ucc28 \uc9c0\uc810\uc758 \uc218\uc815\uc774 \ub9ce\ub2e4\ub294 \uadfc\uac70\ub2e4. \ub2e4\ub9cc RC\uc758 \uc218\uc815 \ubaa9\ub85d\ub9cc\uc73c\ub85c \uac1c\ubcc4 Nuxt \uc571\uc774 \uc601\ud5a5\uc744 \ubc1b\ub294\ub2e4\uace0 \ub2e8\uc815\ud560 \uc218\ub294 \uc5c6\ub2e4.<\/p>\n<h3>\uac1c\ubc1c\uc790 \uc801\uc6a9<\/h3>\n<p>RC \ud3c9\uac00\ub294 production lockfile\uc744 \ubc14\uafb8\uc9c0 \uc54a\uace0 \ubcc4\ub3c4 \ube0c\ub79c\uce58\uc5d0\uc11c \uc2dc\uc791\ud55c\ub2e4. \ub85c\uadf8\uc778 \uc804\ud6c4 \ud654\uba74, \ub290\ub9b0 API\ub97c \ud749\ub0b4 \ub0b8 async setup, \uc870\uac74\ubd80 <code>v-show<\/code>\/<code>v-if<\/code>, KeepAlive \uc655\ubcf5, Teleport modal, custom directive, \uc11c\ubc84\u00b7\ud074\ub77c\uc774\uc5b8\ud2b8 HTML \ube44\uad50\ub97c \ud558\ub098\uc758 Playwright \uc2dc\ub098\ub9ac\uc624\ub85c \ubb36\ub294\ub2e4. hydration warning, console error, \uccab interaction \uc2e4\ud328, DOM mismatch, client navigation \ud6c4 \uc0c1\ud0dc \uc190\uc2e4\uc744 \uc131\uacf5\/\uc2e4\ud328 \uae30\uc900\uc73c\ub85c \uae30\ub85d\ud558\uba74 \uc815\uc2dd\ud310 \uc804\ud658 \ud310\ub2e8\uc5d0 \uc4f8 \uc218 \uc788\ub2e4.<\/p>\n<h2>2. Nuxt main\uc758 Vite \ud50c\ub7ec\uadf8\uc778\u00b7payload \ubcf4\uc815: \uc720\uc6a9\ud558\uc9c0\ub9cc \ubbf8\ucd9c\uc2dc<\/h2>\n<h3>\ud655\uc778\ub41c \uac1c\ubc1c \ube0c\ub79c\uce58 \ubcc0\ud654<\/h3>\n<p>Nuxt <code>main<\/code>\uc5d0\ub294 8\uc6d4 11\uc77c <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/b3becb62263a6ef766843b1f878bbfa6a1423f61\" target=\"_blank\" rel=\"noopener\">Vite plugins\ub97c wrapper\uac00 \uc544\ub2c8\ub77c top-level\uc5d0 \ub4f1\ub85d\ud558\ub294 \uc218\uc815<\/a>\uacfc, <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/6b6d4f7a01ed0779178ba34c4fdbd3f73d5932bd\" target=\"_blank\" rel=\"noopener\">ref\ub85c \ucd08\uae30\ud654\ud55c <code>useState<\/code>\ub97c payload state\uc5d0 \uacc4\uc18d \uc5f0\uacb0\ud558\ub294 \uc218\uc815<\/a>\uc774 \ubcd1\ud569\ub410\ub2e4. \ub610\ud55c \uc11c\ubc84\uc5d0\uc11c \ub0b4\ubd80 <code>&lt;NuxtLink&gt;<\/code> anchor\ub97c \uc9c1\uc811 \ub80c\ub354\ub9c1\ud558\ub294 \uc131\ub2a5 \ucee4\ubc0b\ub3c4 \uc788\ub2e4. \uc774\ub4e4\uc740 <strong>main \ube0c\ub79c\uce58\uc758 \ubbf8\ucd9c\uc2dc \uc791\uc5c5<\/strong>\uc774\uba70, \ub9b4\ub9ac\uc988 \ub178\ud2b8\ub098 \ubc30\ud3ec \uac00\ub2a5\ud55c Nuxt \ubc84\uc804\uc73c\ub85c \uc77d\uc73c\uba74 \uc548 \ub41c\ub2e4.<\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> \ud50c\ub7ec\uadf8\uc778 \uc21c\uc11c\uc640 wrapper \uc720\ubb34\ub294 transform, virtual module, SSR\/client \ubd84\uae30, dev\/prod \uacb0\uacfc\uc5d0 \uc601\ud5a5\uc744 \uc904 \uc218 \uc788\ub2e4. payload state \uc218\uc815\uc740 \uc11c\ubc84\uc5d0\uc11c \ub9cc\ub4e0 \ucd08\uae30 \uc0c1\ud0dc\uac00 hydration \ub4a4\uc5d0\ub3c4 \uae30\ub300\ub300\ub85c \uc720\uc9c0\ub418\ub294\uc9c0\uc640 \uc5f0\uacb0\ub41c\ub2e4. \ub530\ub77c\uc11c \ucee4\uc2a4\ud140 Vite plugin, composable state, islands\ub97c \ub9ce\uc774 \uc4f0\ub294 \ud300\uc740 \uc55e\uc73c\ub85c\uc758 Nuxt \uc5c5\ub370\uc774\ud2b8 \uc2dc \ud574\ub2f9 \uacbd\ub85c\ub97c \ud68c\uadc0 \ubc94\uc704\uc5d0 \ub123\uc744 \uac00\uce58\ub294 \uc788\uc9c0\ub9cc, \ucee4\ubc0b\ub9cc \ubcf4\uace0 override\/resolution\uc744 \ucd94\uac00\ud560 \uadfc\uac70\ub294 \uc544\ub2c8\ub2e4.<\/p>\n<h3>\uac80\uc99d \uc9c8\ubb38<\/h3>\n<ul>\n<li>\ucee4\uc2a4\ud140 Vite plugin\uc774 Nuxt module\uacfc \ud568\uaed8 client\/SSR \uc591\ucabd\uc5d0\uc11c \uac19\uc740 transform \uacb0\uacfc\ub97c \ub0b4\ub294\uac00?<\/li>\n<li><code>useState(() =&gt; ref(...))<\/code> \ub610\ub294 ref \uae30\ubc18 \ucd08\uae30\ud654\uac00 \uc0c8\ub85c\uace0\uce68\u00b7client navigation \ub4a4\uc5d0\ub3c4 \ub3d9\uc77c\ud55c \uac12\uacfc \uc9c1\ub82c\ud654 \ud615\ud0dc\ub97c \uc720\uc9c0\ud558\ub294\uac00?<\/li>\n<li>\ub0b4\ubd80 \ub9c1\ud06c\uac00 SSR HTML, prefetch, islands navigation\uc5d0\uc11c \uc811\uadfc\uc131\u00b7navigation \ud68c\uadc0 \uc5c6\uc774 \ub3d9\uc791\ud558\ub294\uac00?<\/li>\n<\/ul>\n<h2>3. Unhead main \uc131\ub2a5 \uc791\uc5c5: head\ub294 \uc791\uc544\ub3c4 \uc694\uccad\ub9c8\ub2e4 \ubc18\ubcf5\ub41c\ub2e4<\/h2>\n<p>Nuxt\uc758 head \uad00\ub9ac \uae30\ubc18\uc778 Unhead <code>main<\/code>\uc5d0\ub294 8\uc6d4 11\uc77c <a href=\"https:\/\/github.com\/unjs\/unhead\/commit\/eaad428bb2611f384c941ae08c423c2394aeb017\" target=\"_blank\" rel=\"noopener\">\ud1a0\ud070\uc774 \uc5c6\ub294 \ud15c\ud50c\ub9bf\uc758 parsing\uc744 \uac74\ub108\ub6f0\ub294 \uc791\uc5c5<\/a>, <a href=\"https:\/\/github.com\/unjs\/unhead\/commit\/8f887629cea316a6086d976ad8067e9c5cdc6153\" target=\"_blank\" rel=\"noopener\">Promise walk allocation\uc744 \uc9c0\uc5f0\ud558\ub294 \uc791\uc5c5<\/a>, runtime minification\uc758 \uc120\ud615\uc131 \uc720\uc9c0 \uc791\uc5c5\uc774 \ub4e4\uc5b4\uac14\ub2e4. \ubaa8\ub450 <strong>\ubbf8\ucd9c\uc2dc main \ucee4\ubc0b<\/strong>\uc774\ub2e4. \uacf5\uc2dd \uc548\uc815 \ub9b4\ub9ac\uc988\ub85c\ub294 8\uc6d4 4\uc77c <a href=\"https:\/\/github.com\/unjs\/unhead\/releases\/tag\/v3.3.1\" target=\"_blank\" rel=\"noopener\">Unhead 3.3.1<\/a>\uc774 source-less SDK loader\ub97c \uc9c0\uc6d0\ud558\ub3c4\ub85d \uc218\uc815\ub410\ub2e4.<\/p>\n<p><strong>\uc758\ubbf8:<\/strong> SSR\uc5d0\uc11c head \ud0dc\uadf8\ub294 route\ub9c8\ub2e4 \ud569\uc131\u00b7\uc9c1\ub82c\ud654\ub420 \uc218 \uc788\uc5b4 \uc791\uc740 \ube44\uc6a9\ub3c4 \ud2b8\ub798\ud53d\uc5d0\uc11c \ub204\uc801\ub41c\ub2e4. \uadf8\ub7ec\ub098 \ud15c\ud50c\ub9bf, nonce, inline script, SEO meta\uc640 JSON-LD\ub294 \uc815\ud655\uc131\uc774 \uba3c\uc800\ub2e4. \uc0c8 \uc131\ub2a5 \uc544\uc774\ub514\uc5b4\ub97c \ubc18\uc601\ud558\ub824\uace0 pre-release\ub97c \uc5b5\uc9c0\ub85c \uc8fc\uc785\ud558\uae30\ubcf4\ub2e4, \ud604\uc7ac \ubc84\uc804\uc5d0\uc11c route\ubcc4 TTFB\u00b7head \ud0dc\uadf8 \uc218\u00b7\uc911\ubcf5 canonical\/meta\u00b7CSP nonce \uc720\uc9c0 \uc5ec\ubd80\ub97c \uae30\uc900\uc120\uc73c\ub85c \uc218\uc9d1\ud558\ub294 \uac83\uc774 \ub354 \uc548\uc804\ud558\ub2e4.<\/p>\n<h2>4. Vue SSR \uc785\ub825 \uac80\uc99d\uacfc Vite 8.2.1 \uae30\uc900\uc120<\/h2>\n<p>Vue <code>main<\/code>\uc5d0\ub294 8\uc6d4 11\uc77c <a href=\"https:\/\/github.com\/vuejs\/core\/commit\/a2b40db9a83b36ed9da3a16403cf8f040262d73f\" target=\"_blank\" rel=\"noopener\">server-renderer\uac00 attribute name\uc758 CR\uc744 \uac70\ubd80\ud558\ub294 \uc218\uc815<\/a>\uc774 \ubcd1\ud569\ub410\ub2e4. \uc774 \uc5ed\uc2dc <strong>\ubbf8\ucd9c\uc2dc<\/strong>\ub2e4. CMS\u00b7\uc0ac\uc6a9\uc790 \uc785\ub825\uc744 SSR attribute name\uc774\ub098 raw HTML \uc870\ub9bd\uc73c\ub85c \uc804\ub2ec\ud558\uc9c0 \uc54a\ub294 \uc6d0\uce59\uc744 \uc7ac\ud655\uc778\ud558\ub294 \uc2e0\ud638\ub85c \ud574\uc11d\ud560 \uc218 \uc788\uc9c0\ub9cc, \ucde8\uc57d\uc131 \ubc94\uc704\ub098 \ubc30\ud3ec \uc2dc\uc810\uc740 \uc774 \ucee4\ubc0b\ub9cc\uc73c\ub85c \ud655\uc815\ud560 \uc218 \uc5c6\ub2e4. attribute name\uc740 allowlist\ub85c \ub9cc\ub4e4\uace0 \uac12\uc740 framework binding\uc744 \ud1b5\ud574 escape\ud558\ub294 \uae30\uc874 \uaddc\uce59\uc744 \uc720\uc9c0\ud574\uc57c \ud55c\ub2e4.<\/p>\n<p>72\uc2dc\uac04 \uc548\uc5d0 Vite \uc548\uc815 \ub9b4\ub9ac\uc988\ub294 \uc5c6\uc5c8\ub2e4. \ube44\uad50 \uae30\uc900\uc744 \ub113\ud78c \ucd5c\uadfc 7\uc77c\uc5d0\uc11c\ub294 <a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/v8.2.1\" target=\"_blank\" rel=\"noopener\">Vite 8.2.1<\/a>(8\uc6d4 6\uc77c)\uc774 \uac00\uc7a5 \uac00\uae5d\ub2e4. \uacf5\uc2dd changelog\ub294 <code>sharedPlugins: true<\/code>\uc5d0\uc11c client <code>chunkImportMap<\/code> \ub3d9\uc791, bundled-dev script \uc21c\uc11c, Lightning CSS minify \uc7ac\ubc29\ubb38, port 0, pure CSS chunk lookup\uc744 \ubcf4\uc815\ud588\ub2e4. \uc774\ub294 \ubcf4\uc548 \uacf5\uc9c0\uac00 \uc544\ub2c8\ub77c \uc548\uc815\ud654 \ub9b4\ub9ac\uc988\ub2e4. Vite 8.2.1\ub85c \uc62c\ub9b4 \ud300\uc740 multi-entry\/\ud50c\ub7ec\uadf8\uc778 \uacf5\uc720 build, HMR, CSS minify, ephemeral port\ub97c \uc2e4\uc81c CI\u00b7preview\uc5d0\uc11c \ud655\uc778\ud558\uba74 \ub41c\ub2e4.<\/p>\n<h2>\ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\uc790 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<ul>\n<li><strong>RC \uaca9\ub9ac:<\/strong> Vue 3.6.0-rc.3\ub294 production\uacfc \ubd84\ub9ac\ub41c lockfile\u00b7preview\ub85c \uc124\uce58\ud558\uace0, \uc815\uc2dd Vue 3.5.x\ub97c \ub300\uccb4\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/li>\n<li><strong>hydration \ub9e4\ud2b8\ub9ad\uc2a4:<\/strong> async setup, Suspense, KeepAlive, Teleport, dynamic slot, custom directive\ub97c SSR \uccab \uc9c4\uc785\uacfc client navigation \ubaa8\ub450\uc5d0\uc11c \uc790\ub3d9\ud654\ud55c\ub2e4.<\/li>\n<li><strong>\uc0c1\ud0dc \uac80\uc99d:<\/strong> Nuxt <code>useState<\/code>\uc640 payload extraction\uc744 \uc4f0\uba74 \uc0c8\ub85c\uace0\uce68\u00b7prefetch\u00b7islands \uc774\ub3d9 \ub4a4 state\uac00 JSON \uc9c1\ub82c\ud654\/\ubcf5\uc6d0\ub418\ub294\uc9c0 \uac80\uc0ac\ud55c\ub2e4.<\/li>\n<li><strong>\ud50c\ub7ec\uadf8\uc778 \uac80\uc99d:<\/strong> \ucee4\uc2a4\ud140 Vite plugin\uc774 \uc788\ub294 \uc571\uc740 Nuxt \uc5c5\ub370\uc774\ud2b8 \ud6c4\ubcf4\uc5d0\uc11c dev\u00b7build\u00b7SSR transform \uacb0\uacfc\uc640 plugin ordering\uc744 snapshot\uc73c\ub85c \ube44\uad50\ud55c\ub2e4.<\/li>\n<li><strong>head \uad00\ucc30:<\/strong> canonical, robots, OG, JSON-LD, nonce\ub97c route\ubcc4\ub85c \uac80\uc0ac\ud558\uace0 TTFB\u00b7head \uc911\ubcf5\uc744 \ubc30\ud3ec \uc804\ud6c4 \ube44\uad50\ud55c\ub2e4.<\/li>\n<li><strong>\uc785\ub825 \uacbd\uacc4:<\/strong> CMS\/\uc0ac\uc6a9\uc790 \ub370\uc774\ud130\ub97c attribute name, component name, raw template\uc5d0 \uc9c1\uc811 \uc5f0\uacb0\ud558\uc9c0 \ub9d0\uace0 allowlist\uc640 framework binding\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/li>\n<li><strong>Vite \uc548\uc815\ud654:<\/strong> 8.2.1 \uc5c5\uadf8\ub808\uc774\ub4dc \uc2dc shared plugin build, CSS \uc0b0\ucd9c\ubb3c, HMR, port 0 \uae30\ubc18 integration test\ub97c CI\uc5d0 \ub454\ub2e4.<\/li>\n<\/ul>\n<h2>\uc790\uc8fc \ubb3b\ub294 \uc9c8\ubb38(FAQ)<\/h2>\n<h3>Vue 3.6.0-rc.3\ub97c Nuxt production\uc5d0 \ubc14\ub85c \uc62c\ub824\ub3c4 \ub418\ub098?<\/h3>\n<p>\uc544\ub2c8\ub2e4. \ub9b4\ub9ac\uc988 \uc774\ub984\uacfc \uacf5\uc2dd changelog\uac00 \ubcf4\uc5ec\uc8fc\ub4ef RC\ub2e4. Vapor\uc640 hydration\uc758 \uc218\uc815 \ud3ed\uc774 \ub113\uc73c\ubbc0\ub85c \ubcc4\ub3c4 canary\uc5d0\uc11c \uc571 \uace0\uc720\uc758 SSR\u00b7\uc0c1\ud0dc\u00b7\uce90\uc2dc\u00b7\ub77c\uc6b0\ud305 \uacbd\ub85c\ub97c \uac80\uc99d\ud55c \ub4a4, \uc815\uc2dd \ub9b4\ub9ac\uc988\uc640 Nuxt \ud638\ud658 \ubc94\uc704\ub97c \ud655\uc778\ud574 \uc804\ud658\ud55c\ub2e4.<\/p>\n<h3>Nuxt\u00b7Unhead main \ucee4\ubc0b\uc744 \uc774\ubc88 \uc8fc \ubc30\ud3ec\uc5d0 \uc801\uc6a9\ud574\uc57c \ud558\ub098?<\/h3>\n<p>\uc544\ub2c8\ub2e4. \uc774 \uae00\uc758 main \ud56d\ubaa9\uc740 \uc815\ud655\ud55c \ucee4\ubc0b URL\ub85c \ud655\uc778\ud55c \uac1c\ubc1c \uc911 \ubcc0\ud654\ub2e4. \ucd9c\uc2dc\ub41c \ud328\ud0a4\uc9c0\uac00 \uc544\ub2c8\ubbc0\ub85c \uc9c1\uc811 SHA override \ub300\uc2e0 \ub2e4\uc74c \uacf5\uc2dd \ub9b4\ub9ac\uc988\uc758 changelog\ub97c \uae30\ub2e4\ub9ac\uace0, \uc601\ud5a5 \uac00\ub2a5 \uacbd\ub85c\ub97c \ud14c\uc2a4\ud2b8 \ubaa9\ub85d\uc5d0 \ucd94\uac00\ud558\ub294 \uc6a9\ub3c4\ub85c\ub9cc \uc4f4\ub2e4.<\/p>\n<h3>Vite 8.2.1\uc740 \ubc18\ub4dc\uc2dc \uc62c\ub824\uc57c \ud558\ub098?<\/h3>\n<p>\uc774\ubc88 \ub9b4\ub9ac\uc988 \ub178\ud2b8\ub294 shared plugin build, bundled dev, CSS minify, port \ucc98\ub9ac \ub4f1\uc758 \uc548\uc815\ud654 \uc218\uc815\uc774\ub2e4. \ud574\ub2f9 \uacbd\ub85c\ub97c \uc4f0\uac70\ub098 \uc774\ubbf8 8.2 \uacc4\uc5f4\uc5d0 \uc788\ub2e4\uba74 staging \ud68c\uadc0 \ud655\uc778 \ud6c4 \uac80\ud1a0\ud560 \uc218 \uc788\ub2e4. \uc774 \uae00\uc5d0\uc11c \uae34\uae09 \ubcf4\uc548 \uc5c5\ub370\uc774\ud2b8\ub85c \ubd84\ub958\ud558\uc9c0\ub294 \uc54a\ub294\ub2e4.<\/p>\n<h2>\ucd9c\ucc98 \ubc0f \ud310\uc815 \uae30\uc900<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.6.0-rc.3\" target=\"_blank\" rel=\"noopener\">Vue 3.6.0-rc.3 GitHub Release \u2014 2026-08-11<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vuejs\/core\/blob\/minor\/CHANGELOG.md\" target=\"_blank\" rel=\"noopener\">Vue minor branch CHANGELOG \u2014 RC \uc0c1\uc138<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/b3becb62263a6ef766843b1f878bbfa6a1423f61\" target=\"_blank\" rel=\"noopener\">Nuxt main commit \u2014 top-level Vite plugins (\ubbf8\ucd9c\uc2dc)<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/6b6d4f7a01ed0779178ba34c4fdbd3f73d5932bd\" target=\"_blank\" rel=\"noopener\">Nuxt main commit \u2014 ref-initialised useState payload \uc5f0\uacb0 (\ubbf8\ucd9c\uc2dc)<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/unjs\/unhead\/commit\/eaad428bb2611f384c941ae08c423c2394aeb017\" target=\"_blank\" rel=\"noopener\">Unhead main commit \u2014 token \uc5c6\ub294 template parsing skip (\ubbf8\ucd9c\uc2dc)<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vuejs\/core\/commit\/a2b40db9a83b36ed9da3a16403cf8f040262d73f\" target=\"_blank\" rel=\"noopener\">Vue main commit \u2014 SSR attribute name CR reject (\ubbf8\ucd9c\uc2dc)<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/v8.2.1\" target=\"_blank\" rel=\"noopener\">Vite 8.2.1 GitHub Release \u2014 2026-08-06<\/a><\/li>\n<\/ul>\n<p><em>\ud310\uc815: 72\uc2dc\uac04 \ucc3d(8\uc6d4 9\uc77c~12\uc77c KST)\uc5d0\uc11c \ud655\uc778\ub41c \ub9b4\ub9ac\uc988\ub294 Vue RC\uc640 main-branch \ubcc0\uacbd\uc774\ub2e4. Vite 8.2.1\uacfc Unhead 3.3.1\uc740 \uc548\uc815 \ub9b4\ub9ac\uc988 \ub9e5\ub77d\uc744 \uc81c\uacf5\ud558\uae30 \uc704\ud574, \uac19\uc740 \uc0dd\ud0dc\uacc4\uc5d0 \ub2f9\uc77c \uc548\uc815 \ub9b4\ub9ac\uc988\uac00 \ubd80\uc871\ud55c \uacbd\uc6b0\uc5d0 \ud5c8\uc6a9\ub41c \ucd5c\uadfc 7\uc77c \ubc94\uc704\ub85c \ubcc4\ub3c4 \ud45c\uae30\ud588\ub2e4.<\/em><\/p>\n<h2>\ub354 \uae4a\uac8c \uc77d\uae30: \uc2e4\uc804 \uac00\uc774\ub4dc<\/h2>\n<p>\uc774 \ub9ac\ud3ec\ud2b8\ub294 \ucd5c\uadfc \ud750\ub984\uc744 \ube60\ub974\uac8c \ud30c\uc545\ud558\uae30 \uc704\ud55c \uc694\uc57d\uc785\ub2c8\ub2e4. \uc2e4\uc81c \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc801\uc6a9\ud560 \ub54c\ub294 \uc544\ub798\uc758 \uae30\uc900 \uae00\uacfc \ud568\uaed8 \ud655\uc778\ud558\uba74 \ub354 \uc548\uc804\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li><a href=\"https:\/\/gilnas.synology.me\/wordpress\/113\/\">AI \uc5d0\uc774\uc804\ud2b8\ub780 \ubb34\uc5c7\uc778\uac00?<\/a><\/li>\n<li><a href=\"https:\/\/gilnas.synology.me\/wordpress\/114\/\">\ud504\ub86c\ud504\ud2b8 \uc778\uc81d\uc158 \ubcf4\uc548 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/a><\/li>\n<li><a href=\"https:\/\/gilnas.synology.me\/wordpress\/115\/\">AI \ucf54\ub529 \ub3c4\uad6c \uc548\uc804 \uc6cc\ud06c\ud50c\ub85c<\/a><\/li>\n<li><a href=\"https:\/\/gilnas.synology.me\/wordpress\/116\/\">Nuxt SEO \uc124\uc815 \ubc29\ubc95<\/a><\/li>\n<li><a href=\"https:\/\/gilnas.synology.me\/wordpress\/117\/\">Nuxt\uc640 WordPress Headless CMS \uad6c\uc870<\/a><\/li>\n<li><a href=\"https:\/\/gilnas.synology.me\/wordpress\/118\/\">\uac1c\ubc1c\uc790 \ube14\ub85c\uadf8 \uc560\ub4dc\uc13c\uc2a4 \uc2b9\uc778 \uc804\ub7b5<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\ud575\uc2ec \ub2f5\ubcc0: 2026\ub144 8\uc6d4 9\uc77c~12\uc77c(KST) Nuxt\/Vue \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\uc5d0\uc11c \uc989\uc2dc \uc124\uce58 \uac00\ub2a5\ud55c \uc0c8 \ud575\uc2ec \ub9b4\ub9ac\uc988\ub294 Vue 3.6.0-rc.3\uc774\uba70, \uc774\ub294 \uc815\uc2dd\ud310\uc774 \uc544\ub2cc RC\ub2e4. Vapor compiler\/runtime, async hydration, KeepAlive\u00b7Teleport \uc0c1\ud638\uc6b4\uc6a9\uc131\uc758 \uc218\uc815\uc774 \uc9d1\uc911\ub410\uc73c\ubbc0\ub85c, Nuxt \uc571\uc740 production \uc5c5\uadf8\ub808\uc774\ub4dc\ubcf4\ub2e4 \ubcc4\ub3c4 canary\uc5d0\uc11c SSR\u00b7hydration \ud68c\uadc0\ub97c \uba3c\uc800 \ud655\uc778\ud558\ub294 \ud3b8\uc774 \uc548\uc804\ud558\ub2e4. \uc694\uc57d: \uc774\ubc88 3\uc77c \ub9ac\ud3ec\ud2b8\uc758 \ud575\uc2ec\uc740 \u201c\ud070 \ubc84\uc804 \uc810\ud504\u201d\uac00 \uc544\ub2c8\ub77c \ub80c\ub354\ub9c1 \uacbd\uacc4\uc758 \uc548\uc815\ud654\ub2e4. Nuxt\uc640 Unhead\uc758 \ucd5c\uadfc [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":441,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-442","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nuxt-trend"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/comments?post=442"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/442\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/441"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}