{"id":382,"date":"2026-07-29T00:03:06","date_gmt":"2026-07-29T00:03:06","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/382\/"},"modified":"2026-07-29T00:03:06","modified_gmt":"2026-07-29T00:03:06","slug":"nuxt-%eb%b3%b4%ec%95%88-%ed%8c%a8%ec%b9%98%ec%99%80-islands%c2%b7%ea%b0%9c%eb%b0%9c-%ec%84%9c%eb%b2%84-%ec%a0%90%ea%b2%80-three-day-nuxt-security-and-islands-operations","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/382\/","title":{"rendered":"Nuxt \ubcf4\uc548 \ud328\uce58\uc640 Islands\u00b7\uac1c\ubc1c \uc11c\ubc84 \uc810\uac80 | Three-Day Nuxt Security and Islands Operations"},"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-15.png\" alt=\"Nuxt \ubcf4\uc548 \ud328\uce58\uc640 Islands\u00b7\uac1c\ubc1c \uc11c\ubc84 \uc810\uac80 | Three-Day Nuxt Security and Islands Operations\" \/><\/figure>\n<p><strong>\uc694\uc57d:<\/strong> 2026\ub144 7\uc6d4 29\uc77c KST \uae30\uc900 \ucd5c\uadfc 72\uc2dc\uac04\uc758 Nuxt\/Vue\/Vite \ud504\ub860\ud2b8\uc5d4\ub4dc \ud750\ub984\uc740 \uc0c8 \uae30\ub2a5 \uacbd\uc7c1\ubcf4\ub2e4 <strong>Nuxt \uc11c\ubc84 \uacbd\uacc4 \ubcf4\uc548, \uce90\uc2dc \ubb34\ud6a8\ud654, Server Islands \uc785\ub825 \uac80\uc99d, \uac1c\ubc1c \uc11c\ubc84 \ud68c\uadc0 \ud14c\uc2a4\ud2b8<\/strong>\uac00 \uc6b0\uc120\uc774\ub77c\ub294 \uc2e0\ud638\ub2e4. Nuxt 4.5.1\uacfc 3.21.10\uc740 \uc6b4\uc601 \ud658\uacbd\uc5d0 \uc801\uc6a9 \uac00\ub2a5\ud55c \ubcf4\uc548 \ub9b4\ub9ac\uc2a4\uc774\uba70, \ub4a4\uc758 Islands\u00b7Vite \ubcc0\ud654\ub294 \uc544\uc9c1 <strong>main \uac1c\ubc1c \ube0c\ub79c\uce58<\/strong>\uc774\ubbc0\ub85c \ubc30\ud3ec \ubc84\uc804\uc73c\ub85c \uac04\uc8fc\ud558\uba74 \uc548 \ub41c\ub2e4.<\/p>\n<h2>\ud575\uc2ec \ub2f5\ubcc0: \uc774\ubc88 3\uc77c\uc5d0 Nuxt \ud300\uc774 \uba3c\uc800 \ud560 \uc77c\uc740?<\/h2>\n<p><strong>\ub2f5:<\/strong> Nuxt 4 \uacc4\uc5f4\uc740 4.5.1, Nuxt 3 \uacc4\uc5f4\uc740 3.21.10\uc73c\ub85c \uc6b0\uc120 \uc62c\ub9ac\uace0 <code>npx nuxt upgrade --dedupe<\/code> \ud6c4 lockfile\uc744 \uac31\uc2e0\ud55c\ub2e4. <code>cache<\/code>\u00b7<code>swr<\/code>\u00b7<code>isr<\/code> route rule\uc744 \uc0ac\uc6a9\ud588\ub2e4\uba74 \ubc30\ud3ec\ub9cc\uc73c\ub85c \ub05d\ub0b4\uc9c0 \ub9d0\uace0 CDN\/edge\uc758 <code>_payload.json<\/code>\uc744 purge\ud558\uace0, \uc778\uc99d\u00b7\uc0ac\uc6a9\uc790\ubcc4 \ud654\uba74\u00b7Server Islands \uacbd\ub85c\ub97c \ub2e4\uc2dc \ud655\uc778\ud574\uc57c \ud55c\ub2e4. Vite\uc640 Nuxt main\uc758 \uc0c8 \uac1c\ubc1c \uacbd\ud5d8 \ubcc0\ud654\ub294 \uc548\uc815\ud310\uc5d0 \ub4e4\uc5b4\uc624\uae30 \uc804 \ubcc4\ub3c4 CI \ub9e4\ud2b8\ub9ad\uc2a4\ub85c\ub9cc \uc2dc\ud5d8\ud558\ub294 \uac83\uc774 \uc548\uc804\ud558\ub2e4.<\/p>\n<h2>3\uc77c \uacb0\ub860<\/h2>\n<p>\uc774\ubc88 \ucc3d\uc5d0\uc11c \ud655\uc778\ub41c \uac00\uc7a5 \uc911\uc694\ud55c \uc0ac\uc2e4\uc740 Nuxt\uac00 \uac19\uc740 \ub0a0 <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.5.1\" target=\"_blank\" rel=\"noopener\">v4.5.1<\/a>\uacfc <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v3.21.10\" target=\"_blank\" rel=\"noopener\">v3.21.10<\/a>\uc744 \ubcf4\uc548 \ub9b4\ub9ac\uc2a4\ub85c \ubc1c\ud45c\ud588\ub2e4\ub294 \uc810\uc774\ub2e4. \ub450 \ub9b4\ub9ac\uc2a4\ub294 \uc11c\ubc84 \uce21 RCE, Server Islands props\ub97c \ud1b5\ud55c \ube44\uc778\uac00 \ucef4\ud3ec\ub10c\ud2b8 \uc778\uc2a4\ud134\uc2a4\ud654, route rule \uc778\uac00 \uc6b0\ud68c, \uc11c\ubc84 \ucef4\ud3ec\ub10c\ud2b8 DoS, \uac1c\ubc1c \uc11c\ubc84 \uacbd\ub85c \ub178\ucd9c\uc744 \uc218\uc815\ud55c\ub2e4. 4.5.1\uc740 \uce90\uc2dc\ub41c \ud398\uc774\uc9c0\uc5d0\uc11c \uc0ac\uc6a9\uc790 \uac04 payload\uac00 \ub178\ucd9c\ub420 \uc218 \uc788\ub294 \ubb38\uc81c\ub3c4 \uba85\uc2dc\ud55c\ub2e4. \ub530\ub77c\uc11c \uc774 \ub9ac\ud3ec\ud2b8\uc758 \ud575\uc2ec\uc740 \u2018\ucd5c\uc2e0 \uae30\ub2a5\uc744 \uc368 \ubcfc\uc9c0\u2019\uac00 \uc544\ub2c8\ub77c \u2018\uc11c\ubc84 \ub80c\ub354\ub9c1 \uacbd\uacc4\uc640 \uce90\uc2dc\ub97c \uc5b4\ub5bb\uac8c \ubcf5\uad6c\u00b7\uac80\uc99d\ud560\uc9c0\u2019\ub2e4.<\/p>\n<h2>\ud750\ub984 1 \u2014 Nuxt 4.5.1\u00b73.21.10: \ubcf4\uc548 \uc5c5\ub370\uc774\ud2b8\uc640 \uce90\uc2dc \uc815\ub9ac\uac00 \ud55c \ubb36\uc74c<\/h2>\n<h3>\ud655\uc778\ub41c \uc0ac\uc2e4<\/h3>\n<p>\uacf5\uc2dd \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\ub294 \ub450 \ubc84\uc804\uc744 \ubcf4\uc548 \ub9b4\ub9ac\uc2a4\ub85c \uc9c0\uc815\ud558\uace0 \uc989\uc2dc <code>npx nuxt upgrade --dedupe<\/code>\ub97c \uad8c\uc7a5\ud55c\ub2e4. 4.5.1\uc740 <code>cache<\/code>\u00b7<code>swr<\/code>\u00b7<code>isr<\/code>\ub97c \uc4f0\ub294 \uacbd\uc6b0 \uc5c5\uadf8\ub808\uc774\ub4dc \ub4a4 CDN \ub610\ub294 edge \uce90\uc2dc\ub97c purge\ud558\ub77c\uace0 \uba85\uc2dc\ud55c\ub2e4. \uc774\ubbf8 \uce90\uc2dc\ub41c <code>_payload.json<\/code>\uc774 \uc0c1\ub958 \uce90\uc2dc\uc5d0 \ub0a8\uc558\uc744 \uac00\ub2a5\uc131\uc774 \uc788\uae30 \ub54c\ubb38\uc774\ub2e4. \ub610\ud55c lockfile \uac31\uc2e0\uc73c\ub85c \uac1c\ubc1c \uc804\uc6a9 critical RCE\ub97c \uace0\uce5c <code>@nuxt\/devtools@3.3.1<\/code>\uc744 \ubc1b\uac8c \ub41c\ub2e4\uace0 \uc124\uba85\ud55c\ub2e4.<\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> \uc758\uc874\uc131 \ubc84\uc804\ub9cc \ubc14\uafb8\ub294 \ud328\uce58\ub294 \ubd88\uc644\uc804\ud558\ub2e4. Nuxt payload\ub97c edge\uc5d0 \uc800\uc7a5\ud558\ub294 \uad6c\uc131\uc5d0\uc11c\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubc30\ud3ec, \uce90\uc2dc \uc81c\uac70, \ub85c\uadf8\uc778\u00b7\uac1c\uc778\ud654 \ud398\uc774\uc9c0\uc758 \uc751\ub2f5 \uac80\uc99d\uc744 \ud558\ub098\uc758 \ubcc0\uacbd \ud2f0\ucf13\uc73c\ub85c \uad00\ub9ac\ud574\uc57c \ud55c\ub2e4. \ud2b9\ud788 cache key\uac00 \uc0ac\uc6a9\uc790 \uc0c1\ud0dc\u00b7query\u00b7locale\uc744 \uc81c\ub300\ub85c \uad6c\ubd84\ud558\ub294\uc9c0 \ud655\uc778\ud558\uc9c0 \uc54a\uc740 \ucc44 \uce90\uc2dc\ub97c \ub2e4\uc2dc \ucf1c\uc9c0 \ub9d0\uc544\uc57c \ud55c\ub2e4.<\/p>\n<p>\uadfc\uac70: <a href=\"https:\/\/nuxt.com\/blog\/v4-5-security\" target=\"_blank\" rel=\"noopener\">Nuxt Security Patch Releases<\/a>, <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.5.1\" target=\"_blank\" rel=\"noopener\">Nuxt v4.5.1 release notes<\/a>, <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v3.21.10\" target=\"_blank\" rel=\"noopener\">Nuxt v3.21.10 release notes<\/a>.<\/p>\n<h2>\ud750\ub984 2 \u2014 Server Islands\ub294 \uc131\ub2a5 \uacbd\ub85c\uc774\uc790 \uc11c\ubc84 \uc785\ub825 \uacbd\uacc4\ub2e4<\/h2>\n<h3>\ud655\uc778\ub41c \uc0ac\uc2e4<\/h3>\n<p>4.5.1 \ubcc0\uacbd \ubaa9\ub85d\uc5d0\ub294 Island props\uc640 <code>v-for<\/code>\ub97c \uc81c\ud55c\ud574 \ube44\uc778\uc99d DoS\ub97c \ub9c9\uace0, runtime compiler\uc5d0\uc11c \uc608\uc57d\ub41c <code>template<\/code> prop\uacfc \ucd5c\uc0c1\uc704 <code>as<\/code> prop\uc744 \uac70\uc808\ud558\ub294 \uc218\uc815\uc774 \ud3ec\ud568\ub41c\ub2e4. \ub9b4\ub9ac\uc2a4 \ud6c4 Nuxt <strong>main<\/strong>\uc5d0\ub294 non-object Island props\ub97c \uac70\uc808\ud558\ub294 \ucee4\ubc0b\uacfc noScripts \ub77c\uc6b0\ud2b8\uac00 \ud074\ub77c\uc774\uc5b8\ud2b8 JS\uc5d0 \uc758\uc874\ud560 \ub54c \uac1c\ubc1c \uc911 \uacbd\uace0\ud558\ub294 \ucee4\ubc0b\ub3c4 \ub4e4\uc5b4\uc654\ub2e4. \uc774\ub294 7\uc6d4 29\uc77c \uc2dc\uc810\uc5d0 \uc544\uc9c1 \uc815\uc2dd \ubc30\ud3ec\ubcf8\uc774 \uc544\ub2cc \uac1c\ubc1c \ube0c\ub79c\uce58 \uc791\uc5c5\uc774\ub2e4.<\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> Server Islands\ub97c \u2018\ubd80\ubd84 hydration \uc131\ub2a5 \uae30\ub2a5\u2019\uc73c\ub85c\ub9cc \ucde8\uae09\ud558\uc9c0 \ub9d0\uace0, props\ub97c \uc678\ubd80 \uc694\uccad\uc5d0\uc11c \uc628 \uc11c\ubc84 \uc785\ub825\uc73c\ub85c \ubaa8\ub378\ub9c1\ud574\uc57c \ud55c\ub2e4. \uac1d\uccb4 \uc2a4\ud0a4\ub9c8\u00b7\ud5c8\uc6a9 \ud06c\uae30\u00b7\uc5f4\uac70\ud615\uc744 \uc11c\ubc84\uc5d0\uc11c \uac80\uc99d\ud558\uace0, \uc778\uc99d \uc0c1\ud0dc\uc5d0 \ub530\ub77c \ucd9c\ub825\uc774 \ubc14\ub00c\ub294 Island \ub610\ub294 payload\ub97c \uacf5\uc720 \uce90\uc2dc\uc5d0 \ub123\uc9c0 \uc54a\ub294 \uae30\uc900\uc744 \uc138\uc6b4\ub2e4. JS\ub97c \ub048 \ud658\uacbd\uc5d0\uc11c \ud575\uc2ec \uc804\ud658\uc774 \uac00\ub2a5\ud55c\uc9c0\ub3c4 \uc810\uac80\ud558\uba74 noScripts \uacbd\uace0\uac00 \uc54c\ub824 \uc8fc\ub294 \uc811\uadfc\uc131\u00b7\ubcf5\uc6d0\ub825 \ubb38\uc81c\ub97c \ud568\uaed8 \ucc3e\uc744 \uc218 \uc788\ub2e4.<\/p>\n<p>\uadfc\uac70: <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.5.1\" target=\"_blank\" rel=\"noopener\">v4.5.1\uc758 Islands \ubcf4\uc548 \uc218\uc815<\/a>, <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/327d03a919ff305063fa75178bf34e1141f18f29\" target=\"_blank\" rel=\"noopener\">main: noScripts \uac1c\ubc1c \uacbd\uace0<\/a>, <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/dfc2b8505d952e58efd665b102f382b1a51ac54e\" target=\"_blank\" rel=\"noopener\">main: non-object Island props \uac70\uc808<\/a>.<\/p>\n<h2>\ud750\ub984 3 \u2014 \uac1c\ubc1c \uc11c\ubc84\ub294 \ub354 \ube60\ub974\uac8c, \ud638\ud658\uc131 \uac80\uc99d\uc740 \ub354 \uba85\uc2dc\uc801\uc73c\ub85c<\/h2>\n<h3>\ud655\uc778\ub41c \uc0ac\uc2e4<\/h3>\n<p>Nuxt main\uc5d0\ub294 \uac1c\ubc1c \uc11c\ubc84 warming \ub54c client module graph\ub97c crawl\ud558\ub294 \uc131\ub2a5 \uc791\uc5c5\uacfc, NuxtLink\ub85c server page islands\ub97c prefetch\ud558\ub294 \uc791\uc5c5\uc774 \ud655\uc778\ub41c\ub2e4. Vite main\uc5d0\ub294 worker \ud30c\uc77c \ubcc0\uacbd\uc744 HMR\uc774 \uc218\uc6a9\ud558\ub3c4\ub85d \ud558\ub294 \uc791\uc5c5, \ud50c\ub7ec\uadf8\uc778\uc774 optimized dependency \ud30c\uc77c\uc5d0 \uc8fc\uc785\ud55c interop import \uc218\uc815, config \ube44\ud638\ud658 \uc704\uce58\uc5d0 column\uc744 \ud568\uaed8 \ud45c\uc2dc\ud558\ub294 \uac1c\uc120\uc774 \uc788\ub2e4. \ubaa8\ub450 GitHub main\uc758 \ucee4\ubc0b\uc774\uba70 \ud604\uc7ac \uc548\uc815 \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\uac00 \uc544\ub2c8\ub2e4.<\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> \ubaa8\ub178\ub808\ud3ec\u00b7worker\u00b7\uc678\ubd80 \ucef4\ud3ec\ub10c\ud2b8 \ub514\ub809\ud130\ub9ac\uc5d0\uc11c \uac1c\ubc1c \uc11c\ubc84\uac00 \ub290\ub9ac\uac70\ub098 \uac31\uc2e0\uc774 \ub204\ub77d\ub418\ub294 \ud300\uc740 \ub2e4\uc74c \uc548\uc815\ud310\uc758 \ud6c4\ubcf4 \uc2e0\ud638\ub85c \ubcfc \uc218 \uc788\ub2e4. \uadf8\ub7ec\ub098 \uc9c0\uae08 production\uc744 main\uc5d0 \ub9de\ucd94\uc5b4 \uc62c\ub9ac\ub294 \uadfc\uac70\ub294 \uc544\ub2c8\ub2e4. Vite\/Nuxt \ubc84\uc804\uc744 \uace0\uc815\ud55c \ubcc4\ub3c4 CI\uc5d0\uc11c cold start, \uccab HMR, worker \ubcc0\uacbd, SSR CSS module, source map\uc744 \uce21\uc815\u00b7\ud68c\uadc0 \ud14c\uc2a4\ud2b8\ud55c \ub4a4 \uc548\uc815 \ub9b4\ub9ac\uc2a4\ub85c \uc2b9\uaca9\ud55c\ub2e4.<\/p>\n<p>\uadfc\uac70: <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/39aa997428a11915936b54bf52e1153f46b3bbb1\" target=\"_blank\" rel=\"noopener\">Nuxt main: module graph warming<\/a>, <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/faa9f8c1752fe95c4cbb748675dc80859d51439a\" target=\"_blank\" rel=\"noopener\">Nuxt main: Islands prefetch<\/a>, <a href=\"https:\/\/github.com\/vitejs\/vite\/commit\/0d04351fdc12258c75b9f1cda5780fdb836ed0ef\" target=\"_blank\" rel=\"noopener\">Vite main: worker HMR<\/a>, <a href=\"https:\/\/github.com\/vitejs\/vite\/commit\/8a245726944ed29225920d49be77c33c6e03afc8\" target=\"_blank\" rel=\"noopener\">Vite main: config location columns<\/a>.<\/p>\n<h2>\ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\uc790 \uc801\uc6a9 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<ul>\n<li><strong>\uc5c5\uadf8\ub808\uc774\ub4dc:<\/strong> Nuxt 4\ub294 4.5.1, Nuxt 3\ub294 3.21.10\uc73c\ub85c \uc62c\ub9ac\uace0 dedupe \ub4a4 lockfile diff\uc5d0\uc11c Nuxt \ubc0f DevTools \uc2e4\uc81c \ud574\uc0c1 \ubc84\uc804\uc744 \ud655\uc778\ud55c\ub2e4.<\/li>\n<li><strong>\uce90\uc2dc:<\/strong> cache\/swr\/isr \uacbd\ub85c\uc758 CDN\u00b7edge \uce90\uc2dc\uc640 <code>_payload.json<\/code>\uc744 purge\ud55c\ub2e4. \uc774\ud6c4 \ube44\ub85c\uadf8\uc778\u00b7\ub85c\uadf8\uc778\u00b7\uc11c\ub85c \ub2e4\ub978 \ub450 \uc0ac\uc6a9\uc790\u00b7query\uac00 \ub2e4\ub978 \uc694\uccad\uc73c\ub85c \uc751\ub2f5\uc774 \uc11e\uc774\uc9c0 \uc54a\ub294\uc9c0 \uac80\uc0ac\ud55c\ub2e4.<\/li>\n<li><strong>Islands:<\/strong> props\uc5d0 \uc11c\ubc84 \uc2a4\ud0a4\ub9c8, \ud06c\uae30 \uc81c\ud55c, \ud5c8\uc6a9 \ubaa9\ub85d\uc744 \ub450\uace0 runtime compiler\ub97c \uc0ac\uc6a9\ud558\ub294 Island\ub294 \uc608\uc57d prop\uc744 \ubc1b\uc9c0 \uc54a\ub3c4\ub85d \ud14c\uc2a4\ud2b8\ub97c \ucd94\uac00\ud55c\ub2e4.<\/li>\n<li><strong>\ud68c\uadc0:<\/strong> SSR CSS, middleware \uc804\ud658, <code>useAsyncData<\/code> reactive key, HMR \ubc0f \uc678\ubd80 components directory watch\ub97c \uc2a4\ud14c\uc774\uc9d5 smoke test\uc5d0 \ud3ec\ud568\ud55c\ub2e4.<\/li>\n<li><strong>\uc2e4\ud5d8 \ubd84\ub9ac:<\/strong> Nuxt\/Vite main \ucee4\ubc0b\uc740 \ub9b4\ub9ac\uc2a4\uac00 \uc544\ub2c8\ub2e4. \ud540\ub41c \uc548\uc815 \ubc84\uc804 CI\uc640 canary \uc804\uc6a9 CI\ub97c \ubd84\ub9ac\ud558\uace0, \ud1b5\uacfc \uacb0\uacfc\uac00 \uc788\uc744 \ub54c\ub9cc \ucc28\uae30 \ubc84\uc804 \uc5c5\uadf8\ub808\uc774\ub4dc\ub97c \uacc4\ud68d\ud55c\ub2e4.<\/li>\n<\/ul>\n<h2>FAQ: \ube60\ub974\uac8c \uacb0\uc815\ud558\uae30<\/h2>\n<h3>\uc9c0\uae08 Vite \ub610\ub294 Vue\ub97c \ubc14\ub85c \uc62c\ub824\uc57c \ud558\ub098?<\/h3>\n<p>\uc774\ubc88 72\uc2dc\uac04\uc5d0 \ud655\uc778\ud55c Vite \ubcc0\ud654\ub294 main \ucee4\ubc0b\uc774\ub2e4. \uc548\uc815 \ub9b4\ub9ac\uc2a4\ub85c \ubc1c\ud45c\ub41c Nuxt \ubcf4\uc548 \ud328\uce58\uc640 \ub2ec\ub9ac \ubc14\ub85c \ubc30\ud3ec \ub300\uc0c1\uc73c\ub85c \ubd80\ub974\uc9c0 \uc54a\ub294\ub2e4. \ud604\uc7ac Vite\/Vue \uace0\uc815 \ubc84\uc804\uc740 \uc720\uc9c0\ud558\ub418 Nuxt \ubcf4\uc548 \uc5c5\ub370\uc774\ud2b8\uc640 \ud504\ub85c\uc81d\ud2b8 \ud638\ud658\uc131 \ud14c\uc2a4\ud2b8\ub97c \uba3c\uc800 \ub05d\ub0b8\ub2e4.<\/p>\n<h3>\uce90\uc2dc purge\uac00 \ud544\uc694\ud55c \ud300\uc740 \ub204\uad6c\uc778\uac00?<\/h3>\n<p>Nuxt route rules\uc5d0\uc11c <code>cache<\/code>, <code>swr<\/code>, <code>isr<\/code>\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 CDN\/edge\uc5d0 Nuxt payload\ub97c \ubcf4\uad00\ud558\ub294 \ud300\uc774\ub2e4. \uacf5\uc2dd 4.5.1 \ub178\ud2b8\uac00 \uc5c5\uadf8\ub808\uc774\ub4dc \ub4a4 purge\ub97c \uc9c1\uc811 \uad8c\uace0\ud558\ubbc0\ub85c, \ub2e8\uc21c \uc7ac\ubc30\ud3ec\uac00 \uc544\ub2c8\ub77c \uce90\uc2dc \uc81c\uac70\uc640 \uac80\uc99d\uc744 \uc218\ud589\ud55c\ub2e4.<\/p>\n<h3>\uc774\ubc88 \ud750\ub984\uc758 \uc804\ub9dd\uc740 \ubb34\uc5c7\uc778\uac00?<\/h3>\n<p><strong>\ucd94\ub860:<\/strong> Islands prefetch\u00b7dev warming\uc740 \uac1c\ubc1c \ubc0f \ud0d0\uc0c9 \uccb4\uac10 \uc18d\ub3c4\ub97c \uacc4\uc18d \uac1c\uc120\ud558\ub824\ub294 \ubc29\ud5a5\uc744 \ubcf4\uc5ec \uc900\ub2e4. \ub2e4\ub9cc 72\uc2dc\uac04 \ub0b4 \ub9b4\ub9ac\uc2a4\ub41c \uc0ac\uc2e4\uc740 \ubcf4\uc548 \ud328\uce58\uc774\uba70, \uc131\ub2a5 \uad00\ub828 main \uc791\uc5c5\uc758 \ucd9c\uc2dc \uc2dc\uc810\u00b7\ucd5c\uc885 API\ub294 \ud655\uc815\ub418\uc9c0 \uc54a\uc558\ub2e4. \ub530\ub77c\uc11c \uc6b4\uc601 \uc758\uc0ac\uacb0\uc815\uc740 \uacf5\uc2dd \uc548\uc815 \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\uc5d0\ub9cc \uadfc\uac70\ud574\uc57c \ud55c\ub2e4.<\/p>\n<h2>\ucd9c\ucc98\uc640 \ubc94\uc704<\/h2>\n<p>\uc870\uc0ac \ubc94\uc704\ub294 2026\ub144 7\uc6d4 26\uc77c~29\uc77c KST\uc758 Nuxt\/Vite \uacf5\uc2dd GitHub \ub9b4\ub9ac\uc2a4\uc640 \ucee4\ubc0b, Nuxt \uacf5\uc2dd \ubcf4\uc548 \uacf5\uc9c0\ub2e4. \ud328\ud0a4\uc9c0 \ub808\uc9c0\uc2a4\ud2b8\ub9ac\uc0c1 Nuxt 4.5.1\u00b73.21.10\uc740 7\uc6d4 27\uc77c \ubc30\ud3ec\ub410\uc73c\uba70, Vue \ucd5c\uc2e0 \uc548\uc815\ud310\uc740 3.5.40, Vite \ucd5c\uc2e0 \uc548\uc815\ud310\uc740 8.1.5\ub85c \ud655\uc778\ub410\ub2e4. \uc774 \ubb38\uc11c\uc5d0\uc11c \u2018main\u2019\uc774\ub77c\uace0 \ud45c\uae30\ud55c \ud56d\ubaa9\uc740 \ucd9c\uc2dc\ub418\uc9c0 \uc54a\uc740 \uac1c\ubc1c \ube0c\ub79c\uce58\uc774\uba70 \ubc30\ud3ec \uad8c\uace0\uac00 \uc544\ub2c8\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 29\uc77c KST \uae30\uc900 \ucd5c\uadfc 72\uc2dc\uac04\uc758 Nuxt\/Vue\/Vite \ud504\ub860\ud2b8\uc5d4\ub4dc \ud750\ub984\uc740 \uc0c8 \uae30\ub2a5 \uacbd\uc7c1\ubcf4\ub2e4 Nuxt \uc11c\ubc84 \uacbd\uacc4 \ubcf4\uc548, \uce90\uc2dc \ubb34\ud6a8\ud654, Server Islands \uc785\ub825 \uac80\uc99d, \uac1c\ubc1c \uc11c\ubc84 \ud68c\uadc0 \ud14c\uc2a4\ud2b8\uac00 \uc6b0\uc120\uc774\ub77c\ub294 \uc2e0\ud638\ub2e4. Nuxt 4.5.1\uacfc 3.21.10\uc740 \uc6b4\uc601 \ud658\uacbd\uc5d0 \uc801\uc6a9 \uac00\ub2a5\ud55c \ubcf4\uc548 \ub9b4\ub9ac\uc2a4\uc774\uba70, \ub4a4\uc758 Islands\u00b7Vite \ubcc0\ud654\ub294 \uc544\uc9c1 main \uac1c\ubc1c \ube0c\ub79c\uce58\uc774\ubbc0\ub85c \ubc30\ud3ec \ubc84\uc804\uc73c\ub85c \uac04\uc8fc\ud558\uba74 \uc548 \ub41c\ub2e4. \ud575\uc2ec \ub2f5\ubcc0: \uc774\ubc88 3\uc77c\uc5d0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":381,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-382","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\/382","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=382"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/382\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/381"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}