{"id":257,"date":"2026-07-16T23:45:45","date_gmt":"2026-07-16T23:45:45","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/257\/"},"modified":"2026-07-16T23:45:45","modified_gmt":"2026-07-16T23:45:45","slug":"vite%c2%b7vue-%eb%a6%b4%eb%a6%ac%ec%a6%88%ec%99%80-nuxt-%eb%9f%b0%ed%83%80%ec%9e%84-%ec%a0%90%ea%b2%80-three-day-vite-vue-and-nuxt-runtime-checks","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/257\/","title":{"rendered":"Vite\u00b7Vue \ub9b4\ub9ac\uc988\uc640 Nuxt \ub7f0\ud0c0\uc784 \uc810\uac80 | Three-Day Vite, Vue, and Nuxt Runtime Checks"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/gilnas.synology.me\/wordpress\/wp-content\/uploads\/2026\/07\/nuxt-trend-hero-5.png\" alt=\"Vite\u00b7Vue \ub9b4\ub9ac\uc988\uc640 Nuxt \ub7f0\ud0c0\uc784 \uc810\uac80 | Three-Day Vite, Vue, and Nuxt Runtime Checks\" \/><\/figure>\n<p><strong>\uc694\uc57d:<\/strong> 2026\ub144 7\uc6d4 14\uc77c~17\uc77c\uc758 <strong>Nuxt\u00b7Vue\u00b7Vite \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4<\/strong>\ub294 \uc0c8 Nuxt \uc548\uc815 \ub9b4\ub9ac\uc988\ubcf4\ub2e4 \ud558\uc704 \ube4c\ub4dc \ub3c4\uad6c\uc640 \ub7f0\ud0c0\uc784\uc758 \uc548\uc815\uc131 \ubcf4\uc815\uc5d0 \uc2e0\ud638\uac00 \uc9d1\uc911\ub410\ub2e4. Vite 8.1.5, @vitejs\/plugin-legacy 8.2.1, Vue 3.5.40, Vue Router 5.2.0, @vitejs\/plugin-vue 6.0.8\uc758 \uacf5\uac1c \ub9b4\ub9ac\uc988\uc640 Nitro \uba54\uc778 \ube0c\ub79c\uce58 \ubcc0\uacbd\uc744 \ud568\uaed8 \ubcf4\uba74, \uc774\ubc88 \ubc30\ud3ec \uc8fc\uae30\uc758 \uc6b0\uc120\uc21c\uc704\ub294 \u2018\uc77c\uad04 \uc5c5\uadf8\ub808\uc774\ub4dc\u2019\uac00 \uc544\ub2c8\ub77c <strong>SSR\/hydration\u00b7\ub3d9\uc801 import\u00b7\ub808\uac70\uc2dc \ubc88\ub4e4\u00b7\ub77c\uc6b0\ud305 \uc0c1\ud0dc<\/strong>\ub97c \ubd84\ub9ac\ud574 \uac80\uc99d\ud558\ub294 \uc77c\uc774\ub2e4.<\/p>\n<p><em>\uc774 3\uc77c \ub9ac\ud3ec\ud2b8\ub294 \uacf5\uc2dd GitHub \ub9b4\ub9ac\uc988, changelog, npm \uacf5\uac1c \uba54\ud0c0\ub370\uc774\ud130\uc640 \uc5c5\uc2a4\ud2b8\ub9bc \ucee4\ubc0b\uc744 \uae30\uc900\uc73c\ub85c \ud55c\ub2e4. \uc544\ub798\uc758 \ud655\uc778\ub41c \ub9b4\ub9ac\uc988\uc640 \uc544\uc9c1 \ucd9c\uc2dc\ub418\uc9c0 \uc54a\uc740 main-branch \uc791\uc5c5\uc744 \uad6c\ubd84\ud574 \uc77d\uc5b4\uc57c \ud55c\ub2e4.<\/em><\/p>\n<h2>\ud575\uc2ec \ub2f5\ubcc0<\/h2>\n<p>Nuxt\/Vue \ud300\uc740 \uc774\ubc88 \uc8fc Vite \ub610\ub294 Vue\ub97c \uc989\uc2dc \ud55c \ubc88\uc5d0 \uc62c\ub9ac\uae30\ubcf4\ub2e4, <strong>Vite 8.1.5\uc640 plugin-legacy 8.2.1\uc744 \ube4c\ub4dc \ud638\ud658\uc131 PR<\/strong>\ub85c, <strong>Vue 3.5.40\uacfc Router 5.2.0\uc744 SSR\u00b7hydration\u00b7\ub77c\uc6b0\ud305 \ud68c\uadc0 PR<\/strong>\ub85c \ub098\ub220 \uac80\uc99d\ud558\ub294 \uac83\uc774 \uc548\uc804\ud558\ub2e4. @vitejs\/plugin-vue 6.0.8\uc758 forced Vapor mode\uc640 Nitro \uba54\uc778\uc758 \ubcc0\uacbd\uc740 \uacf5\uac1c\ub41c \uc548\uc815 \ub9b4\ub9ac\uc988\uc640 \uc131\uaca9\uc774 \ub2e4\ub974\ubbc0\ub85c, \ud604\uc7ac \uc6b4\uc601 \uae30\ubcf8\uac12\uc744 \ubc14\uafb8\ub294 \uadfc\uac70\uac00 \uc544\ub2c8\ub77c \uaca9\ub9ac\ub41c canary\/\uad00\ucc30 \ud56d\ubaa9\uc73c\ub85c \ucde8\uae09\ud574\uc57c \ud55c\ub2e4.<\/p>\n<ul>\n<li><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> Vite 8.1.5\uc640 plugin-legacy 8.2.1\uc740 7\uc6d4 16\uc77c, Vue 3.5.40\uc740 7\uc6d4 16\uc77c, Vue Router 5.2.0\uc740 7\uc6d4 15\uc77c, plugin-vue 6.0.8\uc740 7\uc6d4 14\uc77c\uc5d0 \uacf5\uac1c\ub410\ub2e4.<\/li>\n<li><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> Vite\ub294 CJS \uc758\uc874\uc131\uc758 dynamic import interop\u00b7module-runner \uc18c\uc2a4\ub9f5\u00b7SSR switch \uc120\uc5b8\uc744, Vue\ub294 hydration\u00b7SSR renderer\u00b7slot branch key\u00b7detached root\uc758 lazy hydration\uc744 \uc218\uc815\ud588\ub2e4.<\/li>\n<li><strong>\ud574\uc11d:<\/strong> Nuxt \uc6b4\uc601 \uc704\ud5d8\uc740 \u2018\uc0c8 \uae30\ub2a5 \ucc44\ud0dd\u2019\ubcf4\ub2e4 \ud074\ub77c\uc774\uc5b8\ud2b8 \ubc88\ub4e4, SSR \ub80c\ub354\ub9c1, \ube0c\ub77c\uc6b0\uc800 \ud638\ud658 \uacbd\ub85c, \ud398\uc774\uc9c0 \uc804\ud658 \uc0c1\ud0dc\uc758 \uacbd\uacc4\uc5d0\uc11c \ub098\ud0c0\ub0a0 \uac00\ub2a5\uc131\uc774 \ub192\ub2e4.<\/li>\n<\/ul>\n<h2>3\uc77c \uacb0\ub860: \ube4c\ub4dc \uc548\uc815\ud654\uc640 \ub80c\ub354\ub9c1 \uacbd\uacc4\ub97c \ub530\ub85c \uad00\uce21\ud558\ub77c<\/h2>\n<p>\uad00\ucc30 \ucc3d\uc758 5\uac1c \uacf5\uac1c \uc774\uc288\ub294 \uc138 \ud750\ub984\uc73c\ub85c \ubb36\uc778\ub2e4. \uccab\uc9f8, Vite\uc640 legacy \ud50c\ub7ec\uadf8\uc778\uc740 <strong>\ube4c\ub4dc \uc0b0\ucd9c\ubb3c\u00b7\ub3d9\uc801 import\u00b7\uad6c\ud615 \ube0c\ub77c\uc6b0\uc800 polyfill<\/strong>\uc744 \ubcf4\uc815\ud588\ub2e4. \ub458\uc9f8, Vue core\uc640 plugin-vue\ub294 <strong>hydration\/SSR \uc548\uc815\uc131 \ubc0f Vapor \uc2e4\ud5d8 \uc9c4\uc785\uc810<\/strong>\uc744 \ub3d9\uc2dc\uc5d0 \ubcf4\uc5ec \uc900\ub2e4. \uc14b\uc9f8, Vue Router\uc640 Nitro \uba54\uc778 \uc791\uc5c5\uc740 <strong>\ub77c\uc6b0\ud305 \uc0c1\ud0dc\uc640 \ud50c\ub7ec\uadf8\uc778-\ub7f0\ud0c0\uc784 \uc811\uc810<\/strong>\uc744 \uc810\uac80 \ub300\uc0c1\uc73c\ub85c \ub9cc\ub4e0\ub2e4. \uc774 \ud750\ub984\uc740 Nuxt\uac00 \uc0c8 \ubc84\uc804\uc744 \ub0c8\ub2e4\ub294 \ub73b\uc774 \uc544\ub2c8\uba70, \ud2b9\ud788 Nitro \uc791\uc5c5\uc740 \ucd9c\uc2dc \uc804 main \ube0c\ub79c\uce58 \ucee4\ubc0b\uc774\ub2e4.<\/p>\n<h2>1. Vite 8.1.5\uc640 plugin-legacy 8.2.1: \uc0b0\ucd9c\ubb3c \ud638\ud658\uc131\uc740 \ubcc4\ub3c4 PR\ub85c<\/h2>\n<p><a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/v8.1.5\" target=\"_blank\" rel=\"noopener\">Vite 8.1.5<\/a>\ub294 bundled dev\uc758 \uc911\ubcf5 <code>buildEnd<\/code> \ubc29\uc9c0, Rolldown\uacfc \uc624\ub958 \uc624\ubc84\ub808\uc774 \ud3ec\ub9f7 \uc815\ub82c, <a href=\"https:\/\/github.com\/vitejs\/vite\/blob\/v8.1.5\/packages\/vite\/CHANGELOG.md\" target=\"_blank\" rel=\"noopener\">module-runner \uc18c\uc2a4\ub9f5 \ucc98\ub9ac<\/a>\uc5d0\uc11c <code>globalThis.Buffer<\/code>\uac00 \uc5c6\uc744 \ub54c\uc758 \ud06c\ub798\uc2dc \ubc29\uc9c0, CJS \uc758\uc874\uc131\uc744 \ud5a5\ud55c dynamic import interop\uc758 importer \ubaa8\ub4c8 \ud3ec\ub9f7 \uc874\uc911, SSR\uc5d0\uc11c switch-case \uc120\uc5b8 \ubc94\uc704 \uc218\uc815 \ub4f1\uc744 \uae30\ub85d\ud55c\ub2e4. \uc774\ub294 \ud2b9\uc815 \ud504\ub85c\uc81d\ud2b8\uc758 \uc18d\ub3c4 \ud5a5\uc0c1 \uc218\uce58\ub97c \ubcf4\uc7a5\ud558\ub294 \ub9b4\ub9ac\uc988\uac00 \uc544\ub2c8\ub77c, \ube4c\ub4dc\/\uac1c\ubc1c\/SSR \uacbd\uacc4\uc758 \uc624\ub958 \uc870\uac74\uc744 \uc881\ud788\ub294 \uc548\uc815\ud654 \ub9b4\ub9ac\uc988\ub2e4.<\/p>\n<p>\ub3d9\uc2dc\uc5d0 <a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/plugin-legacy%408.2.1\" target=\"_blank\" rel=\"noopener\">@vitejs\/plugin-legacy 8.2.1<\/a>\uc740 polyfill \uccad\ud06c\ub97c minify\ud560 \ub54c \ucd5c\uc2e0 \ubb38\ubc95\uc774 \uc4f0\uc774\uc9c0 \uc54a\uac8c \uace0\ucce4\ub2e4. \uad6c\ud615 \ube0c\ub77c\uc6b0\uc800 \uc9c0\uc6d0\uc774 \uc788\ub294 Nuxt\/Vite \uc571\uc5d0\uc11c\ub294 \uc774 \uc218\uc815\uc774 \ud2b9\ud788 \uc9c1\uc811\uc801\uc774\ub2e4. 8.2.0\uc5d0\uc11c \uc2dc\uc791\ub41c Oxc minifier \uc6b0\uc120 \ubc0f polyfill \ud50c\ub7ec\uadf8\uc778 \uc77c\uad00\ud654\uc640 \ud568\uaed8 \ubcf4\ub418, \ubc88\ub4e4 \ud06c\uae30\ub098 \uc131\ub2a5\uc744 \uc77c\ubc18\ud654\ud558\uc9c0 \ub9d0\uace0 \uc2e4\uc81c \uc9c0\uc6d0 \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c \uacb0\uacfc\ubb3c\uc744 \ud655\uc778\ud574\uc57c \ud55c\ub2e4.<\/p>\n<h3>\uc2dc\uc0ac\uc810<\/h3>\n<p>Vite \ud328\uce58\ub97c \uc801\uc6a9\ud560 \ub54c\ub294 production build \uc131\uacf5\ub9cc \ubcf4\uc9c0 \ub9d0\uace0, CJS \ud328\ud0a4\uc9c0\ub97c dynamic import\ud558\ub294 \ud654\uba74, SSR \uc624\ub958\ub97c \ubc1c\uc0dd\uc2dc\ud0a4\ub294 \uacbd\ub85c, \uc18c\uc2a4\ub9f5\/\uc5d0\ub7ec \uc218\uc9d1, legacy polyfill\uc744 \uac00\uc9c4 \ud398\uc774\uc9c0\ub97c \ud558\ub098\uc758 \ud68c\uadc0 \ubb36\uc74c\uc73c\ub85c \uc2e4\ud589\ud55c\ub2e4. \ucd5c\uc2e0 \ube0c\ub77c\uc6b0\uc800\uc640 \uad6c\ud615 \ube0c\ub77c\uc6b0\uc800\uc758 \uacb0\uacfc\uac00 \uac19\uc740\uc9c0 \ud655\uc778\ud558\ub294 \uc77c\uc740 plugin-legacy \uc0ac\uc6a9 \uc5ec\ubd80\uc640 \ubb34\uad00\ud558\uac8c \ubc30\ud3ec \uacc4\uc57d\uc744 \uba85\ud655\ud788 \ud55c\ub2e4.<\/p>\n<h2>2. Vue 3.5.40\uacfc plugin-vue 6.0.8: hydration \uc548\uc815\ud654\uc640 Vapor \uc2e4\ud5d8\uc744 \ubd84\ub9ac<\/h2>\n<p><a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.5.40\" target=\"_blank\" rel=\"noopener\">Vue 3.5.40<\/a>\uc758 \uacf5\uc2dd changelog\ub294 slot branch key \ub204\uc218 \ubc29\uc9c0, \ub3d9\uc801 prop patch \ub54c namespace \uc804\ub2ec, scope stop \uc911 effect \uc81c\uac70 \ucc98\ub9ac, detached root\uc5d0\uc11c lazy hydration \uac74\ub108\ub6f0\uae30, slot \ucf58\ud150\uce20 \uc608\uc678 \uc2dc dangling block \ud574\uc81c, \ucd5c\uc801\ud654\ub41c \ucef4\ud3ec\ub10c\ud2b8 \ub80c\ub354 \uc624\ub958\uc758 server-renderer \ucc98\ub9ac \ub4f1\uc744 \ud3ec\ud568\ud55c\ub2e4. \uc989 SSR\/CSR \ud63c\ud569 \uc571\uc5d0\uc11c \u2018\ub80c\ub354\ub294 \ub410\uc9c0\ub9cc hydration \ub610\ub294 \uc608\uc678 \uacbd\ub85c\uac00 \ubd88\uc548\uc815\ud55c\u2019 \uc0c1\ud669\uc744 \uc904\uc774\ub294 \uc218\uc815\uad70\uc774\ub2e4.<\/p>\n<p>7\uc6d4 14\uc77c \uacf5\uac1c\ub41c <a href=\"https:\/\/github.com\/vitejs\/vite-plugin-vue\/releases\/tag\/plugin-vue%406.0.8\" target=\"_blank\" rel=\"noopener\">@vitejs\/plugin-vue 6.0.8<\/a>\uc740 <a href=\"https:\/\/github.com\/vitejs\/vite-plugin-vue\/blob\/plugin-vue%406.0.8\/packages\/plugin-vue\/CHANGELOG.md\" target=\"_blank\" rel=\"noopener\">forced Vapor mode \uc635\uc158<\/a>\uc744 \ucd94\uac00\ud588\ub2e4. \uc774\ub294 Vapor \uacbd\ub85c\ub97c \uba85\uc2dc\uc801\uc73c\ub85c \uc2dc\ud5d8\ud560 \uc9c4\uc785\uc810\uc744 \uc81c\uacf5\ud558\uc9c0\ub9cc, \ub9b4\ub9ac\uc988 \ub178\ud2b8\uac00 \ubaa8\ub4e0 Nuxt \uc11c\ube44\uc2a4\uc5d0 \ub300\ud55c \uae30\ubcf8 \uc804\ud658\uc774\ub098 \uc131\ub2a5 \uc218\uce58\ub97c \uc57d\uc18d\ud558\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n<h3>\uc2dc\uc0ac\uc810<\/h3>\n<p>Vue 3.5.40 \uc5c5\uadf8\ub808\uc774\ub4dc\ub294 SSR \ud398\uc774\uc9c0, SVG\/namespace\uac00 \uc11e\uc778 \ub3d9\uc801 prop, \uc9c0\uc5f0 hydration, slot \ub0b4\ubd80 \uc608\uc678\ub97c \ud3ec\ud568\ud55c \ud14c\uc2a4\ud2b8\ub85c \uac80\uc99d\ud55c\ub2e4. Vapor\ub294 \ubcc4\ub3c4 \uc2e4\ud5d8 \ube0c\ub79c\uce58\uc5d0\uc11c \uae30\uc874 VDOM \uacbd\ub85c\uc640 HMR\u00b7hydration\u00b7\uc5d0\ub7ec \ucc98\ub9ac \uacb0\uacfc\ub97c \ub300\uc870\ud55c\ub2e4. \u2018\uc635\uc158\uc774 \uc0dd\uacbc\ub2e4\u2019\uc640 \u2018\uc6b4\uc601 \uae30\ubcf8\uac12\uc73c\ub85c \uc548\uc804\ud558\ub2e4\u2019\ub294 \ub2e4\ub978 \uc8fc\uc7a5\uc774\ub2e4.<\/p>\n<h2>3. Vue Router 5.2.0\uacfc Nitro main: \uc0c1\ud0dc \uacbd\uacc4\uc758 \ud68c\uadc0 \uc2dc\ub098\ub9ac\uc624<\/h2>\n<p><a href=\"https:\/\/github.com\/vuejs\/router\/releases\/tag\/v5.2.0\" target=\"_blank\" rel=\"noopener\">Vue Router 5.2.0<\/a>\uc740 \uc9c4\ub2e8 \uae30\ub2a5\uc744 \ucd94\uac00\ud558\uace0, Pinia 4\ub97c \ud5c8\uc6a9\ud558\uba70, stale async <code>scrollBehavior<\/code> \uacb0\uacfc\ub97c \ubb34\uc2dc\ud558\uace0, unplugin\uc758 \uc798\ubabb\ub41c hexadecimal character code\ub97c \uac70\ubd80\ud55c\ub2e4. file-based routing \ub610\ub294 \ud398\uc774\uc9c0 \uba54\ud0c0 \ubcc0\ud658 \ub3c4\uad6c\ub97c \uc4f0\ub294 \ud300\uc5d0\ub294 \uc774\uc804 \ud654\uba74\uc758 \ube44\ub3d9\uae30 \uc2a4\ud06c\ub864 \uacb0\uacfc\uac00 \ub4a4\ub2a6\uac8c \uc801\uc6a9\ub418\ub294\uc9c0, \uc0c1\ud0dc \ub77c\uc774\ube0c\ub7ec\ub9ac \uc5c5\uadf8\ub808\uc774\ub4dc \ud6c4 \ub77c\uc6b0\ud2b8 \uc804\ud658\uc774 \uc77c\uad00\uc801\uc778\uc9c0\ub97c \ud655\uc778\ud560 \uadfc\uac70\uac00 \ub41c\ub2e4.<\/p>\n<p>Nitro\uc5d0\uc11c\ub294 7\uc6d4 14~15\uc77c\uc758 main \ube0c\ub79c\uce58\uc5d0 <a href=\"https:\/\/github.com\/nitrojs\/nitro\/commit\/c6e6168b87e627d69638bb81410fccde2ddf7237\" target=\"_blank\" rel=\"noopener\">bytes\/text import attributes \uc9c0\uc6d0<\/a>\uacfc <a href=\"https:\/\/github.com\/nitrojs\/nitro\/commit\/7af4fee3bc67b1d9f89ae3e89b583ad619b7776d\" target=\"_blank\" rel=\"noopener\">Vite \ud50c\ub7ec\uadf8\uc778\uc5d0\uc11c Nitro \ubaa8\ub4c8 \ub4f1\ub85d \uc2dc apply\/dedupe \uc874\uc911<\/a> \uc218\uc815\uc774 \ub4e4\uc5b4\uc654\ub2e4. <strong>\uc774\ub294 \uc548\uc815 \ub9b4\ub9ac\uc988\uac00 \uc544\ub2cc \ubbf8\ucd9c\uc2dc main-branch \uc791\uc5c5<\/strong>\uc774\ub2e4. \ub530\ub77c\uc11c \ud604\uc7ac \uc571\uc758 \uc758\uc874\uc131\uc744 \ubc14\uafb8\ub77c\ub294 \uad8c\uace0\uac00 \uc544\ub2c8\ub77c, Nitro\/Vite \ud50c\ub7ec\uadf8\uc778 \uc870\ud569\u00b7\uc911\ubcf5 \ubaa8\ub4c8 \ub4f1\ub85d\u00b7import attribute \uc0ac\uc6a9 \ud504\ub85c\uc81d\ud2b8\uac00 \ucd94\ud6c4 \ub9b4\ub9ac\uc988\uc5d0\uc11c \ud655\uc778\ud560 \ud68c\uadc0 \uc2dc\ub098\ub9ac\uc624\ub2e4.<\/p>\n<h2>Nuxt \ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\uc790 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<ul>\n<li><strong>\ubc84\uc804 \ubd84\ub9ac:<\/strong> lockfile\uc5d0\uc11c Vite, plugin-legacy, Vue, Vue Router\uc758 \uc2e4\uc81c \uc804\uc774 \ubc84\uc804\uc744 \uae30\ub85d\ud558\uace0, \ube4c\ub4dc \ub3c4\uad6c\uc640 \ub7f0\ud0c0\uc784 \uc5c5\ub370\uc774\ud2b8 PR\uc744 \ubd84\ub9ac\ud55c\ub2e4.<\/li>\n<li><strong>\ube4c\ub4dc\/\ud638\ud658\uc131:<\/strong> CJS dynamic import, legacy polyfill \uccad\ud06c, \uc9c0\uc6d0 \uc885\ub8cc \uc9c1\uc804 \ube0c\ub77c\uc6b0\uc800\uc758 \ub85c\uadf8\uc778\u00b7\ub77c\uc6b0\ud305\u00b7\ub3d9\uc801 \ub85c\ub4dc\ub97c smoke test\ud55c\ub2e4.<\/li>\n<li><strong>SSR\/hydration:<\/strong> \uc11c\ubc84 \ub80c\ub354 \uc624\ub958, lazy hydration, slot \ub0b4\ubd80 \uc608\uc678, namespace\uac00 \ud544\uc694\ud55c SVG\/\ub3d9\uc801 prop \ud654\uba74\uc744 \uc2a4\ud14c\uc774\uc9d5\uc5d0\uc11c \uc0c8\ub85c\uace0\uce68\uae4c\uc9c0 \ud655\uc778\ud55c\ub2e4.<\/li>\n<li><strong>\ub77c\uc6b0\ud305:<\/strong> \ube60\ub978 \uc5f0\uc18d \ud398\uc774\uc9c0 \uc804\ud658, async scrollBehavior, Pinia 4 \uc870\ud569, file-based route \uba54\ud0c0 \ubcc0\ud658\uc744 \ud14c\uc2a4\ud2b8\ud55c\ub2e4.<\/li>\n<li><strong>\uc2e4\ud5d8 \uaca9\ub9ac:<\/strong> forced Vapor mode\uc640 Nitro main \ucee4\ubc0b\uc740 \ud504\ub85c\ub355\uc158 \uc5c5\ub370\uc774\ud2b8\uc640 \ubb36\uc9c0 \uc54a\uace0 canary \ud658\uacbd\uacfc \uba85\uc2dc\uc801 \ub864\ubc31 \uae30\uc900\uc744 \ub454\ub2e4.<\/li>\n<li><strong>\uad00\uce21:<\/strong> build \uc2e4\ud328\uc728\u00b7\uc0b0\ucd9c\ubb3c diff, SSR \uc608\uc678 \uc704\uce58, hydration warning, \ube0c\ub77c\uc6b0\uc800\ubcc4 \uc624\ub958, route transition \uc9c0\uc5f0\uc744 \uc11c\ub85c \ub2e4\ub978 \uc9c0\ud45c\ub85c \uae30\ub85d\ud55c\ub2e4.<\/li>\n<\/ul>\n<h2>\ube60\ub978 Q&amp;A<\/h2>\n<h3>\uc9c0\uae08 Nuxt \uc790\uccb4\ub97c \uc5c5\uadf8\ub808\uc774\ub4dc\ud574\uc57c \ud558\ub098?<\/h3>\n<p>\uc544\ub2c8\ub2e4. \uc774\ubc88 72\uc2dc\uac04\uc758 \uacf5\uac1c \ub9b4\ub9ac\uc988 \uc911\uc2ec\uc740 Vite\u00b7Vue\u00b7Router\u00b7\ud50c\ub7ec\uadf8\uc778\uc774\ub2e4. \uba3c\uc800 \ud604\uc7ac Nuxt \ubc84\uc804\uc774 \ud574\uc11d\ud558\ub294 \uc758\uc874\uc131 \ubc94\uc704\uc640 lockfile\uc744 \ud655\uc778\ud558\uace0, \ud14c\uc2a4\ud2b8 \uac00\ub2a5\ud55c \uc791\uc740 \uc5c5\ub370\uc774\ud2b8 PR\uc744 \ub9cc\ub4dc\ub294 \ud3b8\uc774 \ub0ab\ub2e4.<\/p>\n<h3>\uac00\uc7a5 \uba3c\uc800 \uc2e4\ud328\ub97c \uc7a1\uc744 \ud14c\uc2a4\ud2b8\ub294 \ubb34\uc5c7\uc778\uac00?<\/h3>\n<p>SSR Nuxt \uc571\uc774\ub77c\uba74 hydration\/\uc11c\ubc84 \ub80c\ub354 \uc624\ub958\uc640 CJS dynamic import\ub97c, \uad6c\ud615 \ube0c\ub77c\uc6b0\uc800\uac00 \ub0a8\uc544 \uc788\uc73c\uba74 legacy polyfill \uccad\ud06c\ub97c, \ubcf5\uc7a1\ud55c \uc804\ud658\uc774 \uc788\uc73c\uba74 async scrollBehavior\ub97c \uc6b0\uc120\ud55c\ub2e4. \uc774 \ud56d\ubaa9\ub4e4\uc740 \uac01 \ub9b4\ub9ac\uc988\uc758 \ud655\uc778\ub41c \uc218\uc815\uacfc \uc9c1\uc811 \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n<h3>Nitro main \ubcc0\uacbd\uc744 \ubc18\uc601\ud574\ub3c4 \ub418\ub294\uac00?<\/h3>\n<p>\uc544\uc9c1 \uc544\ub2c8\ub2e4. main-branch \ucee4\ubc0b\uc740 \uacf5\uac1c \uc548\uc815 \ub9b4\ub9ac\uc988\uac00 \uc544\ub2c8\ub2e4. \uad00\ub828 \ud50c\ub7ec\uadf8\uc778 \uad6c\uc870\uac00 \uc788\ub2e4\uba74 \ud68c\uadc0 \ud14c\uc2a4\ud2b8\ub97c \ubbf8\ub9ac \uc900\ube44\ud558\ub418, \uc2e4\uc81c \ucc44\ud0dd\uc740 \ub9b4\ub9ac\uc988 \ub178\ud2b8\uc640 \uc0ac\uc6a9 \uc911\uc778 Nuxt\/Nitro \ud638\ud658 \ubc94\uc704\ub97c \ud655\uc778\ud55c \ub4a4 \uacb0\uc815\ud55c\ub2e4.<\/p>\n<h2>\ucd9c\ucc98 \ubc0f \uad00\ucc30 \ubc94\uc704<\/h2>\n<p>\uad00\ucc30 \uae30\uac04\uc740 2026\ub144 7\uc6d4 14\uc77c~17\uc77c(KST)\uc774\ub2e4. \ud575\uc2ec \ucd9c\ucc98\ub294 <a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/v8.1.5\" target=\"_blank\" rel=\"noopener\">Vite 8.1.5 \ub9b4\ub9ac\uc988<\/a>, <a href=\"https:\/\/github.com\/vitejs\/vite\/blob\/v8.1.5\/packages\/vite\/CHANGELOG.md\" target=\"_blank\" rel=\"noopener\">Vite 8.1.5 changelog<\/a>, <a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/plugin-legacy%408.2.1\" target=\"_blank\" rel=\"noopener\">plugin-legacy 8.2.1 \ub9b4\ub9ac\uc988<\/a>, <a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.5.40\" target=\"_blank\" rel=\"noopener\">Vue 3.5.40 \ub9b4\ub9ac\uc988<\/a>, <a href=\"https:\/\/github.com\/vuejs\/core\/blob\/v3.5.40\/CHANGELOG.md\" target=\"_blank\" rel=\"noopener\">Vue 3.5.40 changelog<\/a>, <a href=\"https:\/\/github.com\/vitejs\/vite-plugin-vue\/releases\/tag\/plugin-vue%406.0.8\" target=\"_blank\" rel=\"noopener\">plugin-vue 6.0.8 \ub9b4\ub9ac\uc988<\/a>, <a href=\"https:\/\/github.com\/vuejs\/router\/releases\/tag\/v5.2.0\" target=\"_blank\" rel=\"noopener\">Vue Router 5.2.0 \ub9b4\ub9ac\uc988<\/a>\ub2e4. Nitro \ud56d\ubaa9\uc740 \uc704\uc5d0\uc11c \uba85\uc2dc\ud588\ub4ef \ubbf8\ucd9c\uc2dc \uc5c5\uc2a4\ud2b8\ub9bc \ucee4\ubc0b\uc774\uba70, \ucd9c\uc2dc\ub41c \uae30\ub2a5\uc73c\ub85c \ud45c\ud604\ud558\uc9c0 \uc54a\uc558\ub2e4.<\/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>\uc694\uc57d: 2026\ub144 7\uc6d4 14\uc77c~17\uc77c\uc758 Nuxt\u00b7Vue\u00b7Vite \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\ub294 \uc0c8 Nuxt \uc548\uc815 \ub9b4\ub9ac\uc988\ubcf4\ub2e4 \ud558\uc704 \ube4c\ub4dc \ub3c4\uad6c\uc640 \ub7f0\ud0c0\uc784\uc758 \uc548\uc815\uc131 \ubcf4\uc815\uc5d0 \uc2e0\ud638\uac00 \uc9d1\uc911\ub410\ub2e4. Vite 8.1.5, @vitejs\/plugin-legacy 8.2.1, Vue 3.5.40, Vue Router 5.2.0, @vitejs\/plugin-vue 6.0.8\uc758 \uacf5\uac1c \ub9b4\ub9ac\uc988\uc640 Nitro \uba54\uc778 \ube0c\ub79c\uce58 \ubcc0\uacbd\uc744 \ud568\uaed8 \ubcf4\uba74, \uc774\ubc88 \ubc30\ud3ec \uc8fc\uae30\uc758 \uc6b0\uc120\uc21c\uc704\ub294 \u2018\uc77c\uad04 \uc5c5\uadf8\ub808\uc774\ub4dc\u2019\uac00 \uc544\ub2c8\ub77c SSR\/hydration\u00b7\ub3d9\uc801 import\u00b7\ub808\uac70\uc2dc \ubc88\ub4e4\u00b7\ub77c\uc6b0\ud305 \uc0c1\ud0dc\ub97c \ubd84\ub9ac\ud574 \uac80\uc99d\ud558\ub294 \uc77c\uc774\ub2e4. \uc774 3\uc77c \ub9ac\ud3ec\ud2b8\ub294 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":256,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-257","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\/257","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=257"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/257\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/256"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}