{"id":434,"date":"2026-08-10T00:04:11","date_gmt":"2026-08-10T00:04:11","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/434\/"},"modified":"2026-08-10T00:04:11","modified_gmt":"2026-08-10T00:04:11","slug":"nuxt-%ec%84%9c%eb%b2%84%c2%b7%ec%bf%a0%ed%82%a4%c2%b7%ec%bb%b4%ed%8f%ac%eb%84%8c%ed%8a%b8-%ec%95%88%ec%a0%95%ed%99%94-%ed%9d%90%eb%a6%84-three-day-nuxt-runtime-stability-watch","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/434\/","title":{"rendered":"Nuxt \uc11c\ubc84\u00b7\ucfe0\ud0a4\u00b7\ucef4\ud3ec\ub10c\ud2b8 \uc548\uc815\ud654 \ud750\ub984 | Three-Day Nuxt Runtime Stability Watch"},"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-8.png\" alt=\"Nuxt \uc11c\ubc84\u00b7\ucfe0\ud0a4\u00b7\ucef4\ud3ec\ub10c\ud2b8 \uc548\uc815\ud654 \ud750\ub984 | Three-Day Nuxt Runtime Stability Watch\" \/><\/figure>\n<p><strong>\uc694\uc57d:<\/strong> \ucd5c\uadfc 72\uc2dc\uac04 Nuxt\/Vue\/Vite\/Nitro \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\uc5d0\uc11c \uc0c8 \uc548\uc815 \ub9b4\ub9ac\uc988\ub294 \ud655\uc778\ub418\uc9c0 \uc54a\uc558\uc9c0\ub9cc, Nuxt <code>main<\/code>\uc5d0\ub294 \ucfe0\ud0a4 \uc4f0\uae30 \uc5b5\uc81c\u00b7route rules \ub7f0\ud0c0\uc784 \uc548\uc815\uc131\u00b7client-only \ucef4\ud3ec\ub10c\ud2b8 \uc11c\ubc84 \ube4c\ub4dc \uacbd\uacc4\ub97c \ub2e4\ub8e8\ub294 \uc218\uc815\uc774 \uc5f0\uc18d \ubc18\uc601\ub410\ub2e4. Nuxt \uac1c\ubc1c\ud300\uc740 \uc9c0\uae08 \ub2f9\uc7a5 \ubc84\uc804\uc744 \uc62c\ub9ac\uae30\ubcf4\ub2e4 SSR\/islands\u00b7<code>useCookie<\/code>\u00b7Nitro alias\ub97c \ud3ec\ud568\ud55c \ud68c\uadc0 \ud14c\uc2a4\ud2b8\ub97c \uba3c\uc800 \uace0\uc815\ud558\uace0, \uc9c1\uc804 \uc548\uc815 \ub9b4\ub9ac\uc988\uc758 \uc5c5\uadf8\ub808\uc774\ub4dc \uacc4\ud68d\uc744 \ubd84\ub9ac\ud574 \uac80\uc99d\ud558\ub294 \ud3b8\uc774 \uc548\uc804\ud558\ub2e4.<\/p>\n<h2>3\uc77c \uacb0\ub860<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> 8\uc6d4 7\uc77c~10\uc77c KST \uad00\ucc30 \uad6c\uac04\uc758 Nuxt \uc800\uc7a5\uc18c\ub294 <code>main<\/code>\uc5d0\uc11c readonly \ucfe0\ud0a4\uc758 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc4f0\uae30, route matcher\uc758 temporal dead zone(TDZ), bare module specifier\ub97c \ud5a5\ud55c Nitro alias, client-only \ucef4\ud3ec\ub10c\ud2b8\uc758 \uc11c\ubc84 \ube4c\ub4dc \ucc98\ub9ac\ub97c \uc218\uc815\ud588\ub2e4. \uc774\ub294 <strong>\ubbf8\ucd9c\uc2dc \uac1c\ubc1c \ube0c\ub79c\uce58 \uc791\uc5c5<\/strong>\uc774\uba70 \ubc30\ud3ec \uac00\ub2a5\ud55c \uc0c8 Nuxt \ub9b4\ub9ac\uc988\ub77c\ub294 \ub73b\uc740 \uc544\ub2c8\ub2e4.<\/p>\n<p><strong>\uc2e4\ubb34 \ud574\uc11d:<\/strong> \uc774\ubc88 \ud750\ub984\uc758 \uacf5\ud1b5\uc810\uc740 UI \uae30\ub2a5 \ucd94\uac00\uac00 \uc544\ub2c8\ub77c SSR\uacfc \ud074\ub77c\uc774\uc5b8\ud2b8 \uacbd\uacc4, prerender\uc640 route rules, \ud0c0\uc785\/\ubaa8\ub4c8 \ud574\uc11d\uc758 \uc548\uc815\uc131\uc774\ub2e4. Nuxt 4 \uc804\ud658 \ub610\ub294 islands\ub97c \uc4f0\ub294 \ud300\uc740 \u201c\uc5c5\ub370\uc774\ud2b8 \ub300\uae30\u201d\ubcf4\ub2e4 \uc774 \uacbd\uacc4\ub97c \uc7ac\ud604\ud558\ub294 \ud14c\uc2a4\ud2b8\ub97c \ucd94\uac00\ud560 \ub54c \ube44\uc6a9\uc774 \ub0ae\ub2e4. 72\uc2dc\uac04 \uc548\uc5d0\ub294 \uc0c8 Vue\u00b7Vite\u00b7Nitro \uc548\uc815 \ub9b4\ub9ac\uc988\uac00 \uc5c6\uc5c8\uc73c\ubbc0\ub85c, \uc9c1\uc804 \uacf5\uc2dd \ubc84\uc804\uc758 \ubcc0\uacbd\uc744 \uae30\uc900\uc120\uc73c\ub85c \uc0bc\uace0 main \ucee4\ubc0b\uc740 \uad00\ucc30 \ub300\uc0c1\uc73c\ub85c\ub9cc \ucde8\uae09\ud574\uc57c \ud55c\ub2e4.<\/p>\n<h2>\uad00\ucc30 \ubc94\uc704\uc640 \uc2e0\ub8b0\ub3c4<\/h2>\n<p>\uc774 \ub9ac\ud3ec\ud2b8\ub294 2026\ub144 8\uc6d4 7\uc77c~10\uc77c KST\uc758 GitHub Releases, \ucee4\ubc0b API, npm \ub808\uc9c0\uc2a4\ud2b8\ub9ac\ub97c \ud655\uc778\ud588\ub2e4. npm \ub808\uc9c0\uc2a4\ud2b8\ub9ac\uc5d0\ub294 \uc774 \uae30\uac04 Nuxt, Vue, Vite, Nitro, Unhead, Nuxt ESLint\uc758 \uc0c8 \ubc30\ud3ec \ubc84\uc804\uc774 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc558\ub2e4. \ub530\ub77c\uc11c \uc544\ub798\uc758 1~4\ubc88\uc740 \uc815\ud655\ud55c \ucee4\ubc0b URL\uc744 \uadfc\uac70\ub85c \ud55c <strong>main \uac1c\ubc1c \ub3d9\ud5a5<\/strong>, 5~7\ubc88\uc740 \ucd5c\uadfc\uc5d0 \uacf5\uac1c\ub41c \uc548\uc815 \uae30\uc900\uc120\uc774\ub2e4.<\/p>\n<ul>\n<li><strong>\ubbf8\ucd9c\uc2dc\/main:<\/strong> Nuxt readonly cookie, route matcher\/TDZ, bare-module alias, client-only server stubbing.<\/li>\n<li><strong>\ucd5c\uadfc \uc548\uc815 \uae30\uc900\uc120:<\/strong> Nuxt 4.5.2\u00b73.21.11(8\uc6d4 5\uc77c), Vite 8.2.1(8\uc6d4 6\uc77c), Vue 3.5.41(8\uc6d4 5\uc77c), Nuxt ESLint 1.17.0(8\uc6d4 6\uc77c).<\/li>\n<li><strong>\uc8fc\uc758:<\/strong> \uae30\uc900\uc120 \ubc84\uc804\ub3c4 \uc5c4\ubc00\ud788 72\uc2dc\uac04 \ucc3d \ubc14\ub85c \ubc16\uc5d0 \uc788\uc73c\ubbc0\ub85c \u2018\uc624\ub298\uc758 \ub9b4\ub9ac\uc988\u2019\ub85c \ud45c\ud604\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/li>\n<\/ul>\n<h2>\ud575\uc2ec \ud750\ub984 1: <code>useCookie<\/code>\uc758 \uc77d\uae30 \uc804\uc6a9 \uacc4\uc57d\uc744 \ud074\ub77c\uc774\uc5b8\ud2b8\uae4c\uc9c0 \uace0\uc815<\/h2>\n<h3>\uc0ac\uc2e4 \u2014 readonly \uae30\ubcf8\uac12\uc774 \ube0c\ub77c\uc6b0\uc800 \ucfe0\ud0a4\ub97c \uc4f0\uc9c0 \uc54a\ub3c4\ub85d main\uc5d0\uc11c \uc218\uc815<\/h3>\n<p>Nuxt <code>main<\/code>\uc758 <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/67f87d157edacd21c16726b2faef9d799cd11aeb\" target=\"_blank\" rel=\"noopener\">#36014 \ucee4\ubc0b<\/a>\uc740 <code>useCookie(..., { readonly: true, default: ... })<\/code>\uac00 \uae30\ubcf8\uac12\uc744 \uac16\ub354\ub77c\ub3c4 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0\uc11c \ucd08\uae30 \ucfe0\ud0a4\ub97c \uc4f0\uc9c0 \uc54a\ub3c4\ub85d \uc870\uac74\uc744 \ubcf4\uac15\ud558\uace0, \uc11c\ubc84\u00b7\ud074\ub77c\uc774\uc5b8\ud2b8 \uc591\ucabd \ud14c\uc2a4\ud2b8\ub97c \ucd94\uac00\ud588\ub2e4. \ubc14\ub85c \uc55e\uc758 <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/9faf8884dffcd2b41ccec0e33d9193eb826ff140\" target=\"_blank\" rel=\"noopener\">#35997<\/a>\uc740 readonly\uc77c \ub54c cookie watcher \uc790\uccb4\ub97c \uac74\ub108\ub6f0\ub294 \ubc29\ud5a5\uc744 \ub2f4\uace0 \uc788\ub2e4.<\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> consent, \uc2e4\ud5d8 \ud50c\ub798\uadf8, \uc11c\ubc84\uac00 \uc18c\uc720\ud55c \uc138\uc158 \ud78c\ud2b8\ucc98\ub7fc \u2018\uc77d\uae30\ub9cc\u2019 \uc758\ub3c4\ud55c \uac12\uc740 hydration \uc9c1\ud6c4 \uc758\ub3c4\uce58 \uc54a\uc740 <code>Set-Cookie<\/code>\ub098 \ube0c\ub77c\uc6b0\uc800 \ubcc0\uacbd\uc744 \ub9cc\ub4e4\uc9c0 \uc54a\uc544\uc57c \ud55c\ub2e4. \ub2e4\ub9cc \uc774\ub294 \uc544\uc9c1 main\uc774\ubbc0\ub85c \ud604\ud589 \ud504\ub85c\uc81d\ud2b8\uc5d0 cherry-pick\ud560 \uadfc\uac70\uac00 \uc544\ub2c8\ub2e4. \ub300\uc2e0 readonly + default \ucf00\uc774\uc2a4\ub97c \ube0c\ub77c\uc6b0\uc800 E2E\uc640 SSR \uc751\ub2f5 \ud5e4\ub354 \uac80\uc0ac\uc5d0 \ub123\uc5b4, \ud604\uc7ac \uc758\uc874\uc131\uc5d0\uc11c\ub3c4 \uacc4\uc57d\uc744 \ud655\uc778\ud558\uc790.<\/p>\n<h2>\ud575\uc2ec \ud750\ub984 2: route rules\u00b7Nitro alias\uc758 \ube4c\ub4dc\/\ub7f0\ud0c0\uc784 \uacbd\uacc4 \ubcf4\uac15<\/h2>\n<h3>\uc0ac\uc2e4 \u2014 \uc21c\ud658 import\uc758 TDZ\uc640 bare module alias \ud574\uc11d\uc744 \ub2e4\ub8e8\ub294 \ubbf8\ucd9c\uc2dc \uc218\uc815<\/h3>\n<p><a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/438c4afeefa443fbb3059debbfb373843d4fa95c\" target=\"_blank\" rel=\"noopener\">#36012<\/a>\ub294 \uc0dd\uc131\ub41c route rules matcher\ub97c \ud568\uc218\ub85c hoist\ud574 \uc21c\ud658 import\uac00 default export\uc758 TDZ\ub97c \uac74\ub4dc\ub9ac\uc9c0 \uc54a\uac8c \ud55c\ub2e4. \ubcc4\ub3c4 <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/7b3b38a307670b8e0aed7b81ea84798c3f0ad261\" target=\"_blank\" rel=\"noopener\">#36011<\/a>\uc740 Nitro alias\uac00 <code>defu<\/code> \uac19\uc740 bare module specifier\ub97c \uac00\ub9ac\ud0ac \ub54c TypeScript path\uac00 node_modules\uc758 \uc2e4\uc81c \uc704\uce58\ub85c \ud574\uc11d\ub418\ub3c4\ub85d \ud14c\uc2a4\ud2b8\uc640 \ucc98\ub9ac\ub97c \ucd94\uac00\ud588\ub2e4.<\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> routeRules, prerender, case-sensitive \ub77c\uc6b0\ud305, \ubaa8\ub4c8\uc774 \ub123\ub294 Nitro alias\ub97c \ud568\uaed8 \uc4f0\ub294 \uc571\uc740 dev\uc5d0\uc11c\ub294 \uc9c0\ub098\uac00\ub3c4 CI\/production bundle\uc5d0\uc11c \ub4dc\ub7ec\ub098\ub294 \uacbd\uacc4\uac00 \uc788\ub2e4. \ub9b4\ub9ac\uc988 \ub178\ud2b8\ub97c \uae30\ub2e4\ub9ac\ub294 \ub3d9\uc548\uc5d0\ub3c4 \ud504\ub85c\ub355\uc158\uacfc \ub3d9\uc77c\ud55c preset\uc5d0\uc11c build + prerender\ub97c \ub3cc\ub9ac\uace0, alias\ub97c \uc9c1\uc811 \ud30c\uc77c \uacbd\ub85c\uc640 \ud328\ud0a4\uc9c0\uba85 \ub450 \uacbd\uc6b0\ub85c \uc2dc\ud5d8\ud558\ub294 \uac83\uc774 \ud569\ub9ac\uc801\uc774\ub2e4.<\/p>\n<h2>\ud575\uc2ec \ud750\ub984 3: client-only\/islands\uc758 \uc11c\ubc84 \ube4c\ub4dc \ud68c\uadc0\ub97c \ud14c\uc2a4\ud2b8\ub85c \ubd09\ud569<\/h2>\n<p><a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/e0c51e57f934550474421c134da860313900d809\" target=\"_blank\" rel=\"noopener\">#36019<\/a>\ub294 client-only \ucef4\ud3ec\ub10c\ud2b8\ub97c \uc11c\ubc84 \ube4c\ub4dc\uc5d0\uc11c stub \ucc98\ub9ac\ud558\uace0, \ud14c\uc2a4\ud2b8 \ucef4\ud3ec\ub10c\ud2b8 \ub9e4\ud551\uc744 \ubcf4\uac15\ud55c\ub2e4. \ucee4\ubc0b\uc5d0\ub294 Webpack dev\uc5d0\uc11c \uc2e4\ud328\ub85c \ud45c\uc2dc\ub418\ub358 client-only \ubc0f islands \ud14c\uc2a4\ud2b8\ub97c \uc815\uc0c1 \ud14c\uc2a4\ud2b8\ub85c \ubc14\uafb8\ub294 \ubcc0\uacbd\ub3c4 \ud3ec\ud568\ub41c\ub2e4. \uc774\ub294 \u2018\ubaa8\ub4e0 \uc571\uc758 SSR \uc624\ub958\uac00 \ud574\uacb0\ub410\ub2e4\u2019\ub294 \ubc1c\ud45c\uac00 \uc544\ub2c8\ub77c, upstream\uc774 server\/client component \uacbd\uacc4\uc758 \uc7ac\ud604 \ucf00\uc774\uc2a4\ub97c \uad6c\uccb4\ud654\ud558\uace0 \uc788\ub2e4\ub294 \uc2e0\ud638\ub2e4.<\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> <code>.client.vue<\/code>, <code>&lt;ClientOnly&gt;<\/code>, islands, lazy hydration\uc744 \uc11e\ub294 \ud504\ub85c\uc81d\ud2b8\ub294 \uc11c\ubc84 HTML\uc5d0 fallback\uc774 \ub098\uc624\ub294\uc9c0, \ud074\ub77c\uc774\uc5b8\ud2b8 hydration \ub4a4 interactive \uc0c1\ud0dc\uac00 \ub418\ub294\uc9c0, \uadf8\ub9ac\uace0 production build\uc5d0\uc11c\ub9cc \uae68\uc9c0\uc9c0 \uc54a\ub294\uc9c0\ub97c \ubcc4\ub3c4 assertion\uc73c\ub85c \uc720\uc9c0\ud574\uc57c \ud55c\ub2e4.<\/p>\n<h2>\ud575\uc2ec \ud750\ub984 4: \uc9c1\uc804 \uc548\uc815 \uae30\uc900\uc120\uc5d0\uc11c \ud655\uc778\ud560 \uc5c5\uadf8\ub808\uc774\ub4dc \ud56d\ubaa9<\/h2>\n<h3>Nuxt 4.5.2\uc640 Nuxt 3.21.11<\/h3>\n<p><a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.5.2\" target=\"_blank\" rel=\"noopener\">Nuxt 4.5.2<\/a>\ub294 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc740 \uc0dd\uc131 \ud30c\uc77c \uc7ac\uc791\uc131 \uc0dd\ub7b5, lazy import\ub85c parsing \uac1c\uc120, app\/component scan \uc7ac\uc0ac\uc6a9 \ub4f1 \uc131\ub2a5 \ubcc0\uacbd\uacfc islands\u00b7prerender\u00b7route meta \uad00\ub828 \uc218\uc815\ub4e4\uc744 \uacf5\uac1c\ud588\ub2e4. \uac19\uc740 \ub0a0\uc758 <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v3.21.11\" target=\"_blank\" rel=\"noopener\">Nuxt 3.21.11<\/a> \ub9b4\ub9ac\uc988 \ub178\ud2b8\ub294 Nuxt v3\uac00 EOL\uc784\uc744 \uba85\uc2dc\ud55c\ub2e4. \uadf8\ub7ec\ubbc0\ub85c v3 \ud300\uc740 \u2018\ud328\uce58\ub9cc \uc720\uc9c0\u2019\uac00 \uc544\ub2c8\ub77c v4 \uc804\ud658 \ubc94\uc704\uc640 \uc9c0\uc6d0 \ucc45\uc784\uc744 \uacc4\ud68d\uc5d0 \ubc18\uc601\ud574\uc57c \ud55c\ub2e4.<\/p>\n<h3>Vite 8.2.1, Vue 3.5.41, Nuxt ESLint 1.17.0<\/h3>\n<p><a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/v8.2.1\" target=\"_blank\" rel=\"noopener\">Vite 8.2.1<\/a>\uc740 <code>sharedPlugins: true<\/code>\uc77c \ub54c client chunk import map, bundled-dev \uc2a4\ud06c\ub9bd\ud2b8 \uc21c\uc11c, CSS minify \uc7ac\ubc29\ubb38, port 0 \uc11c\ubc84 \ucc98\ub9ac \ub4f1\uc758 \uc218\uc815\uc744 \ub2f4\uc558\ub2e4. <a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.5.41\" target=\"_blank\" rel=\"noopener\">Vue 3.5.41<\/a>\uc740 SSR async setup \uc0c1\ud0dc \ubcf5\uc6d0, hydration\uc758 hidden state \uc815\uaddc\ud654, compiler SFC cache invalidation \ub4a4 template AST \ucc98\ub9ac \ub4f1 SSR\/hydration \uad00\ub828 \uc218\uc815\uc774 \ud3ec\ud568\ub41c \uc548\uc815 \ubc84\uc804\uc774\ub2e4. <a href=\"https:\/\/github.com\/nuxt\/eslint\/releases\/tag\/v1.17.0\" target=\"_blank\" rel=\"noopener\">Nuxt ESLint 1.17.0<\/a>\uc740 template root\uc758 \uc5ec\ubd84 comment\uc640 spread operator \uad00\ub828 \ubc84\uadf8\ub97c \uc218\uc815\ud588\ub2e4.<\/p>\n<p><strong>\uc2e4\ubb34 \ud574\uc11d:<\/strong> \uc774\ub4e4\uc740 72\uc2dc\uac04 \uacbd\uacc4 \ubc16\uc758 \ucd5c\uadfc \uae30\uc900\uc120\uc774\ub2e4. \ud2b9\ud788 \ube4c\ub4dc \ud30c\uc774\ud504\ub77c\uc778 \ub610\ub294 SSR\uc774 \ubbfc\uac10\ud55c \uc11c\ube44\uc2a4\ub294 lockfile\uc744 \uac31\uc2e0\ud558\uae30 \uc804\uc5d0 node\/runtime, Nuxt module, Vite plugin, preview \ubc30\ud3ec\ub97c \ubb36\uc5b4 canary \uac80\uc99d\ud574\uc57c \ud55c\ub2e4. Vite\/Vue\uc758 \ubcc0\uacbd\uc774 Nuxt \uc571\uc5d0 \uc790\ub3d9\uc73c\ub85c \uc801\uc6a9\ub41c\ub2e4\uace0 \uac00\uc815\ud558\uc9c0 \ub9d0\uace0 Nuxt\uac00 \uc2e4\uc81c\ub85c \ud574\uc11d\ud55c \uc758\uc874\uc131 \ud2b8\ub9ac\ub97c \ud655\uc778\ud55c\ub2e4.<\/p>\n<h2>\ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\uc790 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<ul>\n<li><strong>\ucfe0\ud0a4:<\/strong> <code>readonly: true<\/code> + <code>default<\/code> \uc870\ud569\uc5d0\uc11c SSR \uc751\ub2f5\uc758 <code>Set-Cookie<\/code>\uc640 \ube0c\ub77c\uc6b0\uc800 <code>document.cookie<\/code>\uac00 \ubc14\ub00c\uc9c0 \uc54a\ub294\uc9c0 \ud14c\uc2a4\ud2b8\ud55c\ub2e4.<\/li>\n<li><strong>SSR\/islands:<\/strong> client-only \ucef4\ud3ec\ub10c\ud2b8\uc758 fallback HTML, hydration \ud6c4 \uc0c1\ud638\uc791\uc6a9, production build\ub97c \uac01\uac01 \uac80\uc99d\ud55c\ub2e4.<\/li>\n<li><strong>Nitro:<\/strong> routeRules + prerender + case sensitivity\uc640 bare package alias\ub97c \uac00\uc9c4 \ubaa8\ub4c8\uc744 production preset\uc5d0\uc11c build\ud55c\ub2e4.<\/li>\n<li><strong>\uc5c5\uadf8\ub808\uc774\ub4dc:<\/strong> Nuxt 4.5.2\/Vite 8.2.1\/Vue 3.5.41\uc744 \ubcc4\ub3c4 \ube0c\ub79c\uce58\uc5d0\uc11c lockfile \ud3ec\ud568\uc73c\ub85c \uc62c\ub9ac\uace0 build\u00b7preview\u00b7E2E\ub97c \ube44\uad50\ud55c\ub2e4.<\/li>\n<li><strong>\uc9c0\uc6d0 \uc815\ucc45:<\/strong> Nuxt 3 EOL \uc0ac\uc6a9 \uc5ec\ubd80\ub97c inventory\ub85c \ub9cc\ub4e4\uace0, v4 \uc804\ud658 \uc6b0\uc120\uc21c\uc704\ub97c \ubcf4\uc548\u00b7SSR \ud575\uc2ec \uacbd\ub85c\ubd80\ud130 \uc815\ud55c\ub2e4.<\/li>\n<\/ul>\n<h2>\uc9e7\uc740 Q&amp;A<\/h2>\n<h3>Q. \uc9c0\uae08 Nuxt main\uc758 \ucee4\ubc0b\uc744 \ubc30\ud3ec\ud574\uc57c \ud558\ub098?<\/h3>\n<p>A. \uc544\ub2c8\ub2e4. \uc774\ubc88 72\uc2dc\uac04\uc758 \ud575\uc2ec \uc218\uc815\uc740 main \uac1c\ubc1c \ube0c\ub79c\uce58\uc5d0 \uc788\uc73c\uba70 \uc815\uc2dd \ub9b4\ub9ac\uc988\uac00 \uc544\ub2c8\ub2e4. \uc815\ud655\ud55c \uc7ac\ud604 \ud14c\uc2a4\ud2b8\ub97c \uba3c\uc800 \ucd94\uac00\ud558\uace0, \ud6c4\uc18d release note\uc5d0 \ud574\ub2f9 \uc218\uc815\uc774 \ud3ec\ud568\ub410\ub294\uc9c0 \ud655\uc778\ud55c \ub4a4 \uc5c5\uadf8\ub808\uc774\ub4dc\ud55c\ub2e4.<\/p>\n<h3>Q. \uc774\ubc88\uc5d0 \uac00\uc7a5 \uba3c\uc800 \ubcfc \uacf3\uc740 \uc5b4\ub514\uc778\uac00?<\/h3>\n<p>A. SSR\/hydration, <code>useCookie<\/code>\uc758 readonly \uac12, routeRules\/prerender, \ubaa8\ub4c8 alias\ub2e4. \ubaa8\ub450 \uc11c\ubc84\uc640 \ud074\ub77c\uc774\uc5b8\ud2b8\u00b7\ube4c\ub4dc\uc640 \ub7f0\ud0c0\uc784\uc758 \uacbd\uacc4\uc5d0\uc11c\ub9cc \ub4dc\ub7ec\ub098\uae30 \uc26c\uc6b4 \uc601\uc5ed\uc774\ub2e4.<\/p>\n<h3>Q. Nuxt 3\uc744 \uacc4\uc18d \uc368\ub3c4 \ub418\ub294\uac00?<\/h3>\n<p>A. \uacf5\uc2dd 3.21.11 \ub178\ud2b8\ub294 v3 EOL\uc744 \uba85\uc2dc\ud55c\ub2e4. \uc989\uc2dc \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc774 \ubd88\uac00\ub2a5\ud558\ub354\ub77c\ub3c4, \uc0c8 \uae30\ub2a5 \ud22c\uc785\uacfc \uc6b4\uc601 \uc704\ud5d8\uc744 \ubd84\ub9ac\ud558\uace0 v4 \uc804\ud658 \uacc4\ud68d\u00b7\uac80\uc99d \ud658\uacbd\uc744 \ub9c8\ub828\ud558\ub294 \uac83\uc774 \ud604\uc2e4\uc801\uc778 \ub2e4\uc74c \ub2e8\uacc4\ub2e4.<\/p>\n<h2>\uc8fc\uc694 \ucd9c\ucc98<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/67f87d157edacd21c16726b2faef9d799cd11aeb\" target=\"_blank\" rel=\"noopener\">Nuxt main #36014 \u2014 readonly cookie client write \ubc29\uc9c0<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/438c4afeefa443fbb3059debbfb373843d4fa95c\" target=\"_blank\" rel=\"noopener\">Nuxt main #36012 \u2014 route matcher TDZ \ubc29\uc9c0<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/e0c51e57f934550474421c134da860313900d809\" target=\"_blank\" rel=\"noopener\">Nuxt main #36019 \u2014 client-only component server stub<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.5.2\" target=\"_blank\" rel=\"noopener\">Nuxt 4.5.2 \uacf5\uc2dd \ub9b4\ub9ac\uc988 \ub178\ud2b8<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/v8.2.1\" target=\"_blank\" rel=\"noopener\">Vite 8.2.1 \uacf5\uc2dd \ub9b4\ub9ac\uc988 \ub178\ud2b8<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.5.41\" target=\"_blank\" rel=\"noopener\">Vue 3.5.41 \uacf5\uc2dd \ub9b4\ub9ac\uc988 \ub178\ud2b8<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/eslint\/releases\/tag\/v1.17.0\" target=\"_blank\" rel=\"noopener\">Nuxt ESLint 1.17.0 \uacf5\uc2dd \ub9b4\ub9ac\uc988 \ub178\ud2b8<\/a><\/li>\n<\/ul>\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: \ucd5c\uadfc 72\uc2dc\uac04 Nuxt\/Vue\/Vite\/Nitro \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\uc5d0\uc11c \uc0c8 \uc548\uc815 \ub9b4\ub9ac\uc988\ub294 \ud655\uc778\ub418\uc9c0 \uc54a\uc558\uc9c0\ub9cc, Nuxt main\uc5d0\ub294 \ucfe0\ud0a4 \uc4f0\uae30 \uc5b5\uc81c\u00b7route rules \ub7f0\ud0c0\uc784 \uc548\uc815\uc131\u00b7client-only \ucef4\ud3ec\ub10c\ud2b8 \uc11c\ubc84 \ube4c\ub4dc \uacbd\uacc4\ub97c \ub2e4\ub8e8\ub294 \uc218\uc815\uc774 \uc5f0\uc18d \ubc18\uc601\ub410\ub2e4. Nuxt \uac1c\ubc1c\ud300\uc740 \uc9c0\uae08 \ub2f9\uc7a5 \ubc84\uc804\uc744 \uc62c\ub9ac\uae30\ubcf4\ub2e4 SSR\/islands\u00b7useCookie\u00b7Nitro alias\ub97c \ud3ec\ud568\ud55c \ud68c\uadc0 \ud14c\uc2a4\ud2b8\ub97c \uba3c\uc800 \uace0\uc815\ud558\uace0, \uc9c1\uc804 \uc548\uc815 \ub9b4\ub9ac\uc988\uc758 \uc5c5\uadf8\ub808\uc774\ub4dc \uacc4\ud68d\uc744 \ubd84\ub9ac\ud574 \uac80\uc99d\ud558\ub294 \ud3b8\uc774 \uc548\uc804\ud558\ub2e4. 3\uc77c \uacb0\ub860 \ud655\uc778\ub41c \uc0ac\uc2e4: 8\uc6d4 7\uc77c~10\uc77c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":433,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-434","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\/434","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=434"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/434\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/433"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}