{"id":390,"date":"2026-07-30T00:03:29","date_gmt":"2026-07-30T00:03:29","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/390\/"},"modified":"2026-07-30T00:03:29","modified_gmt":"2026-07-30T00:03:29","slug":"nuxt-%eb%b3%b4%ec%95%88-%ed%8c%a8%ec%b9%98%ec%99%80-%eb%b9%8c%eb%93%9c-%ec%9a%b4%ec%98%81-%ec%b2%b4%ed%81%ac%ed%8f%ac%ec%9d%b8%ed%8a%b8-nuxt-security-patches-and-build-operations","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/390\/","title":{"rendered":"Nuxt \ubcf4\uc548 \ud328\uce58\uc640 \ube4c\ub4dc \uc6b4\uc601 \uccb4\ud06c\ud3ec\uc778\ud2b8 | Nuxt Security Patches and Build 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-16.png\" alt=\"Nuxt \ubcf4\uc548 \ud328\uce58\uc640 \ube4c\ub4dc \uc6b4\uc601 \uccb4\ud06c\ud3ec\uc778\ud2b8 | Nuxt Security Patches and Build Operations\" \/><\/figure>\n<p><strong>\uc694\uc57d:<\/strong> 2026\ub144 7\uc6d4 27~30\uc77c Nuxt\/Vue\/Vite \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\uc758 \ud575\uc2ec\uc740 \uc0c8 \uae30\ub2a5 \uacbd\uc7c1\ubcf4\ub2e4 <strong>Nuxt \uc11c\ubc84 \uacbd\uacc4\uc758 \uc989\uc2dc \ubcf4\uc548 \ud328\uce58\uc640 \uce90\uc2dc \uc815\ub9ac<\/strong>\uc785\ub2c8\ub2e4. Nuxt 4.5.1\uacfc 3.21.10\uc740 \uc11c\ubc84 \uce21 RCE\u00b7Server Island props\u00b7route rule \uad8c\ud55c \uc6b0\ud68c\u00b7DoS\u00b7\uac1c\ubc1c \uc11c\ubc84 \uacbd\ub85c \ub178\ucd9c \ub4f1\uc744 \ub2e4\ub8e8\ub294 \ubcf4\uc548 \ub9b4\ub9ac\uc988\uc774\uba70, Vite\uc640 Unhead\uc758 \ucd5c\uadfc <code>main<\/code> \uc791\uc5c5\uc740 \uc774\ud6c4 \uac1c\ubc1c \uacbd\ud5d8\uacfc \uba54\ud0c0\ub370\uc774\ud130 \ube4c\ub4dc \uc131\ub2a5\uc758 \ubc29\ud5a5\uc744 \ubcf4\uc5ec \uc90d\ub2c8\ub2e4.<\/p>\n<h2>\ud575\uc2ec \ub2f5\ubcc0<\/h2>\n<p>\uc774\ubc88 3\uc77c \ub3d9\uc548 Nuxt \uac1c\ubc1c\uc790\uac00 \uac00\uc7a5 \uba3c\uc800 \ud560 \uc77c\uc740 <strong>Nuxt 4\ub294 4.5.1, Nuxt 3\uc740 3.21.10\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ud558\uace0 lockfile\uc744 \uc0c8\ub85c \uace0\uc815\ud55c \ub4a4, <code>cache<\/code>\u00b7<code>swr<\/code>\u00b7<code>isr<\/code> route rule\uc744 \uc4f0\ub294 \uc11c\ube44\uc2a4\uc758 CDN\/\uc5e3\uc9c0 \uce90\uc2dc\ub97c \uc81c\uac70\ud558\ub294 \uac83<\/strong>\uc785\ub2c8\ub2e4. Vite\uc640 Unhead\uc758 \ud6c4\uc18d \ubcc0\uacbd\uc740 \uc544\uc9c1 \uc815\uc2dd \ub9b4\ub9ac\uc988\uac00 \uc544\ub2cc <code>main<\/code> \uc791\uc5c5\uc774\ubbc0\ub85c \uc6b4\uc601 \ubc30\ud3ec \uadfc\uac70\uac00 \uc544\ub2c8\ub77c \ub2e4\uc74c \uc5c5\uadf8\ub808\uc774\ub4dc \uc804 \ud68c\uadc0 \ud14c\uc2a4\ud2b8 \ud56d\ubaa9\uc73c\ub85c \ucde8\uae09\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h2>3\uc77c \uacb0\ub860: \uc11c\ubc84 \uacbd\uacc4\u00b7\uce90\uc2dc\u00b7\ube4c\ub4dc \ub3c4\uad6c\ub97c \ud568\uaed8 \uc810\uac80\ud574\uc57c \ud55c\ub2e4<\/h2>\n<p>\uc774\ubc88 \ucc3d(7\uc6d4 27\uc77c 00:00 KST~7\uc6d4 30\uc77c 09:00 KST)\uc5d0 \uacf5\uc2dd\uc801\uc73c\ub85c \ubc30\ud3ec\ub41c \uac00\uc7a5 \uc911\uc694\ud55c \ubcc0\ud654\ub294 Nuxt \ubcf4\uc548 \ud328\uce58\uc785\ub2c8\ub2e4. Nuxt \ud300\uc740 <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.5.1\" target=\"_blank\" rel=\"noopener\">Nuxt v4.5.1<\/a> \ubc0f <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v3.21.10\" target=\"_blank\" rel=\"noopener\">Nuxt v3.21.10<\/a>\uc5d0\uc11c server-side RCE, Server Island props\ub97c \ud1b5\ud55c \uc778\uac00\ub418\uc9c0 \uc54a\uc740 \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\ud588\ub2e4\uace0 \ubc1c\ud45c\ud588\uc2b5\ub2c8\ub2e4. v4.5.1\uc740 \uce90\uc2dc\ub41c \ud398\uc774\uc9c0\uc758 \uc0ac\uc6a9\uc790 \uac04 payload \ub178\ucd9c\ub3c4 \uba85\uc2dc\ud558\uba70, \uc774\ubbf8 \uc55e\uc120 route rule \uad8c\uace0\ub97c \uc801\uc6a9\ud55c \uacbd\uc6b0\uc5d0\ub3c4 \ucd94\uac00 \ud68c\uadc0 \uc218\uc815 \ub54c\ubb38\uc5d0 \uc774\ubc88 \ud328\uce58\uac00 \ud544\uc694\ud558\ub2e4\uace0 \uc124\uba85\ud569\ub2c8\ub2e4.<\/p>\n<p><strong>\uc0ac\uc2e4:<\/strong> \uc774 \ub9b4\ub9ac\uc988\ub4e4\uc740 \uc989\uc2dc \uc5c5\ub370\uc774\ud2b8\ub97c \uad8c\uace0\ud569\ub2c8\ub2e4. <strong>\uc2dc\uc0ac\uc810:<\/strong> \ud504\ub808\uc784\uc6cc\ud06c \ubc84\uc804\ub9cc \uc62c\ub9ac\ub294 \uac83\uc73c\ub85c \ub05d\ub0b4\uc9c0 \ub9d0\uace0, CDN\u00b7\ub9ac\ubc84\uc2a4 \ud504\ub85d\uc2dc\u00b7\uc815\uc801 \uce90\uc2dc\uac00 \uc774\uc804 <code>_payload.json<\/code>\uc744 \uacc4\uc18d \uc81c\uacf5\ud558\uc9c0 \uc54a\ub294\uc9c0 \uc6b4\uc601 \uc808\ucc28\uae4c\uc9c0 \uac80\uc99d\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub294 \uae30\ub2a5 \uac1c\uc120\uc774 \uc544\ub2c8\ub77c \ub178\ucd9c \ubc94\uc704\ub97c \uc904\uc774\ub294 \ubcf5\uad6c \ub2e8\uacc4\uc785\ub2c8\ub2e4.<\/p>\n<h2>\ud750\ub984 1: Nuxt 4.5.1\u00b73.21.10 \ubcf4\uc548 \ub9b4\ub9ac\uc988\u2014\uc758\uc874\uc131 \uac31\uc2e0\uacfc \uce90\uc2dc \ubb34\ud6a8\ud654<\/h2>\n<h3>\ub3d9\uc77c\ud55c \uc6b4\uc601 \uc6d0\uce59, \ub450 \uac1c\uc758 \uc9c0\uc6d0 \ub77c\uc778<\/h3>\n<p>Nuxt 4.5.1\uacfc Nuxt 3.21.10\uc740 7\uc6d4 27\uc77c \uacf5\uac1c\ub410\uc2b5\ub2c8\ub2e4. \ub450 \ub9b4\ub9ac\uc988 \ub178\ud2b8\ub294 <code>npx nuxt upgrade --dedupe<\/code> \uc2e4\ud589\uacfc lockfile \uac31\uc2e0\uc744 \uad8c\uace0\ud558\uba70, \uc774 \uacfc\uc815\uc5d0\uc11c \uac1c\ubc1c \ud658\uacbd \uc804\uc6a9\uc758 \ubcc4\ub3c4 critical RCE\ub97c \uace0\uce5c <code>@nuxt\/devtools@3.3.1<\/code>\ub3c4 \ud568\uaed8 \ubc18\uc601\ub41c\ub2e4\uace0 \ubc1d\ud799\ub2c8\ub2e4. Nuxt 3\uc740 7\uc6d4 31\uc77c EOL \uc608\uc815\uc774\ub77c\ub294 Nuxt 4.5.0 \uacf5\uc9c0\ub3c4 \ud568\uaed8 \ud655\uc778\ud574\uc57c \ud558\ubbc0\ub85c, 3.x \ud504\ub85c\uc81d\ud2b8\ub294 \uc774\ubc88 \ud328\uce58\ub97c \u2018\ub9c8\uc9c0\ub9c9 \uc720\uc9c0\ubcf4\uc218\u2019\ub85c\ub9cc \ubcf4\uc9c0 \ub9d0\uace0 4.x \ub610\ub294 \ud638\ud658\uc131 \uc804\ud658 \uacc4\ud68d\uc744 \uacb0\uc815\ud560 \uc2e0\ud638\ub85c \uc77d\ub294 \ud3b8\uc774 \uc548\uc804\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> route rule \ubc0f Server Island \uad00\ub828 \uc11c\ubc84 \uce21 \uacf5\uaca9\uba74\uc744 \uc218\uc815\ud55c \ubcf4\uc548 \ub9b4\ub9ac\uc988\ub2e4.<\/li>\n<li><strong>\uc6b4\uc601 \ud574\uc11d:<\/strong> <code>routeRules<\/code>\u00b7ISR\u00b7SWR\u00b7Server Islands\ub97c \ub9ce\uc774 \uc4f0\ub294 \uc571\uc77c\uc218\ub85d \ud328\uce58 \ud6c4 \uc775\uba85\/\ub85c\uadf8\uc778 \uc0ac\uc6a9\uc790 \uc804\ud658, \uce90\uc2dc \uc801\uc911, \uc624\ub958 \ud398\uc774\uc9c0\ub97c \ud568\uaed8 \uc810\uac80\ud574\uc57c \ud55c\ub2e4.<\/li>\n<li><strong>\uc8fc\uc758:<\/strong> \ucde8\uc57d\uc810\uc758 \uc601\ud5a5\uacfc \uce90\uc2dc \uc0c1\ud0dc\ub294 \uc11c\ube44\uc2a4 \uad6c\uc131\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c4\ub2e4. \ub9b4\ub9ac\uc988 \ub178\ud2b8\uac00 \uad8c\uace0\ud55c \uce90\uc2dc purge\uc640 \uc790\uccb4 \ub85c\uadf8 \uac80\ud1a0\ub85c \ud310\ub2e8\ud574\uc57c \ud55c\ub2e4.<\/li>\n<\/ul>\n<p>\uadfc\uac70\uc640 \uc138\ubd80 \ubc94\uc704\ub294 <a href=\"https:\/\/nuxt.com\/blog\/v4-5-security\" target=\"_blank\" rel=\"noopener\">Nuxt Security Patch Releases \uacf5\uc9c0<\/a> \ubc0f \ud574\ub2f9 GitHub \ub9b4\ub9ac\uc988 \ub178\ud2b8\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ud750\ub984 2: Nuxt main\uc758 \uba54\ud0c0\ub370\uc774\ud130\u00b7\uac1c\ubc1c \uc11c\ubc84 \uc131\ub2a5 \uc791\uc5c5\u2014\uc544\uc9c1 \ubc30\ud3ec\ubcf8\uc774 \uc544\ub2c8\ub2e4<\/h2>\n<p>7\uc6d4 28~29\uc77c Nuxt <code>main<\/code>\uc5d0\ub294 page meta \ucd94\ucd9c \uc131\ub2a5 \uac1c\uc120, dev server warming \uc911 client module graph \ud06c\ub864\ub9c1, worker build\uc758 asset filename \uc77c\uad00\uc131, Server Island props\uac00 \uac1d\uccb4\uac00 \uc544\ub2d0 \ub54c\uc758 \uac70\ubd80 \ub4f1 \uc5ec\ub7ec \ubcc0\uacbd\uc774 \ud569\uccd0\uc84c\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/d0f4ecbb4678fc3094c24933664ee30968a896fd\" target=\"_blank\" rel=\"noopener\">page meta extraction \uc131\ub2a5 \uac1c\uc120 \ucee4\ubc0b<\/a>\uacfc <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/39aa997428a11915936b54bf52e1153f46b3bbb1\" target=\"_blank\" rel=\"noopener\">dev-server client module graph warming \ucee4\ubc0b<\/a>\uc740 \uc774\ud6c4 \ub9b4\ub9ac\uc988\uc758 \uac1c\ubc1c\u00b7\ube4c\ub4dc \uacbd\ub85c\ub97c \uaca8\ub0e5\ud569\ub2c8\ub2e4.<\/p>\n<p><strong>\uc911\uc694:<\/strong> \uc774\ub294 \uc815\uc2dd \ud0dc\uadf8\uac00 \uc544\ub2cc <code>main<\/code> \ube0c\ub79c\uce58 \uc791\uc5c5\uc785\ub2c8\ub2e4. \uc9c0\uae08 \ud504\ub85c\ub355\uc158\uc5d0 \uc774 \ubcc0\uacbd\uc744 \ubc30\ud3ec\ud558\ub77c\ub294 \ub73b\uc774 \uc544\ub2d9\ub2c8\ub2e4. \ub300\uc2e0 \ub300\ud615 Nuxt \uc571\uc740 \ub2e4\uc74c \uc815\uc2dd \ubc84\uc804\uc774 \ub098\uc62c \ub54c page meta\uac00 \ub9ce\uc740 \ub77c\uc6b0\ud2b8, worker \ubc88\ub4e4, \ucd08\uae30 dev-server \uc2dc\uc791 \uc2dc\uac04\uc5d0 \ub300\ud55c \uae30\uc900 \uce21\uc815\uacfc CI \ud68c\uadc0 \uc2dc\ub098\ub9ac\uc624\ub97c \uc900\ube44\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ud750\ub984 3: Vite\u00b7Unhead\uc758 \ud6c4\uc18d \ube4c\ub4dc \uacbd\ub85c\u2014\ub9b4\ub9ac\uc988\uc640 main\uc744 \uad6c\ubd84\ud574 \uc900\ube44\ud55c\ub2e4<\/h2>\n<p>\uacf5\uc2dd npm \ub808\uc9c0\uc2a4\ud2b8\ub9ac \uae30\uc900 Vite\uc758 \ucd5c\uc2e0 stable\uc740 8.1.5\uc774\uba70, 8.2.0-beta.0\uc740 7\uc6d4 22\uc77c \uacf5\uac1c\ub41c \ubca0\ud0c0\uc785\ub2c8\ub2e4. 72\uc2dc\uac04 \ucc3d \uc548\uc5d0\uc11c \ud655\uc778\ub418\ub294 Vite \ubcc0\ud654\ub294 <a href=\"https:\/\/github.com\/vitejs\/vite\/commit\/8c2a87d41fb24536e59643351758084cde4d0dd7\" target=\"_blank\" rel=\"noopener\">\ud50c\ub7ec\uadf8\uc778\uc774 \ucd5c\uc801\ud654\ub41c \uc758\uc874\uc131 \ud30c\uc77c\uc5d0 \uc0bd\uc785\ud55c interop import \ucc98\ub9ac \uc218\uc815<\/a>, <a href=\"https:\/\/github.com\/vitejs\/vite\/commit\/0d04351fdc12258c75b9f1cda5780fdb836ed0ef\" target=\"_blank\" rel=\"noopener\">worker file update \uc218\uc6a9 HMR \uc9c0\uc6d0<\/a> \uac19\uc740 <code>main<\/code> \ucee4\ubc0b\uc785\ub2c8\ub2e4. \ub458 \ub2e4 \uc544\uc9c1 \ub9b4\ub9ac\uc988\uac00 \uc544\ub2d9\ub2c8\ub2e4.<\/p>\n<p>Unhead\ub3c4 7\uc6d4 29\uc77c <a href=\"https:\/\/github.com\/unjs\/unhead\/commit\/bddfd4606f991bce621a69fa222d08170df0bb7c\" target=\"_blank\" rel=\"noopener\">Rolldown parser \uc7ac\uc0ac\uc6a9\uc73c\ub85c bundler \uc131\ub2a5\uc744 \uac1c\uc120\ud558\ub294 main \ucee4\ubc0b<\/a>\uacfc schema.org\/Google rich result parity \uc218\uc815\uc774 \uae30\ub85d\ub410\uc2b5\ub2c8\ub2e4. \uc548\uc815 \ubc30\ud3ec\ubcf8\uc740 7\uc6d4 22\uc77c\uc758 Unhead 3.2.3\uc774\ubbc0\ub85c, Nuxt\uc758 head\u00b7schema\u00b7\uc778\ub77c\uc778 script \ubcc0\ud658\uc744 \uc0ac\uc6a9\ud558\ub294 \ud300\uc740 \uc774 \uc791\uc5c5\uc744 \u2018\ub2e4\uc74c \uc5c5\uadf8\ub808\uc774\ub4dc \uac10\uc2dc \ud56d\ubaa9\u2019\uc73c\ub85c\ub9cc \uae30\ub85d\ud558\uace0 prerelease \ub610\ub294 \uc815\uc2dd changelog\uac00 \ub098\uc654\uc744 \ub54c \uc801\uc6a9 \ubc94\uc704\ub97c \ud655\uc778\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h2>\ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\uc790 \uc2e4\ud589 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<ul>\n<li><strong>\uc624\ub298:<\/strong> <code>nuxt --version<\/code>, lockfile, <code>@nuxt\/devtools<\/code> \ubc84\uc804\uc744 \ud655\uc778\ud558\uace0 \uc9c0\uc6d0 \ub77c\uc778\uc5d0 \ub9de\ucdb0 4.5.1 \ub610\ub294 3.21.10\uc73c\ub85c \uc62c\ub9b0\ub2e4. \uc5c5\ub370\uc774\ud2b8 \uc804\ud6c4 \ube4c\ub4dc\u00b7e2e\u00b7SSR smoke test\ub97c \ub0a8\uae34\ub2e4.<\/li>\n<li><strong>\ubc30\ud3ec \uc9c1\ud6c4:<\/strong> <code>cache<\/code>, <code>swr<\/code>, <code>isr<\/code> route rule \ubaa9\ub85d\uc744 \ubf51\uc544 CDN\/\uc5e3\uc9c0 purge\ub97c \uc218\ud589\ud55c\ub2e4. \ub85c\uadf8\uc778 \uc804\ud6c4\uc640 \uc11c\ub85c \ub2e4\ub978 \uc0ac\uc6a9\uc790\ub85c \ud398\uc774\uc9c0\u00b7<code>_payload.json<\/code> \uc751\ub2f5\uc744 \uac80\uc0ac\ud55c\ub2e4.<\/li>\n<li><strong>\uc11c\ubc84 \uacbd\uacc4:<\/strong> Server Island props\uc640 \ub3d9\uc801 \ucef4\ud3ec\ub10c\ud2b8 \uc785\ub825\uc744 \uc2e0\ub8b0 \uacbd\uacc4\ub85c \ucde8\uae09\ud558\uace0, \uad8c\ud55c\uc774 \ud544\uc694\ud55c route rule\u00b7\uad00\ub9ac\uc790 \ud398\uc774\uc9c0\u00b7\uc5d0\ub7ec \ucc98\ub9ac \uacbd\ub85c\ub97c \uc7ac\uc2dc\ud5d8\ud55c\ub2e4.<\/li>\n<li><strong>\ub2e4\uc74c \ub9b4\ub9ac\uc988 \ub300\ube44:<\/strong> Nuxt\/Vite\/Unhead <code>main<\/code> \ubcc0\uacbd\uc740 \ud540\uc744 \ud480\uc9c0 \ub9d0\uace0, dev-server cold start\u00b7HMR\u00b7\ucd5c\uc801\ud654 \uc758\uc874\uc131\u00b7head\/schema \ub80c\ub354\ub9c1\uc744 CI \uae30\uc900 \ud14c\uc2a4\ud2b8\ub85c \ub9cc\ub4e0\ub2e4.<\/li>\n<li><strong>\uc804\ud658 \uacc4\ud68d:<\/strong> Nuxt 3 \uc0ac\uc6a9\uc790\ub294 EOL \uc77c\uc815\uc744 \ud655\uc778\ud558\uace0, 4.x\/\ud5a5\ud6c4 \ud638\ud658\uc131 \uc124\uc815\uc73c\ub85c\uc758 \uc774\ub3d9\uc744 \ubcc4\ub3c4 \uc2a4\ud504\ub9b0\ud2b8\ub85c \ubd84\ub9ac\ud55c\ub2e4. \ubcf4\uc548 \ud328\uce58\uc640 \ub300\uaddc\ubaa8 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \ud55c \ubc30\ud3ec\uc5d0 \uc11e\uc9c0 \uc54a\ub294\ub2e4.<\/li>\n<\/ul>\n<h2>\uc9e7\uc740 Q&amp;A<\/h2>\n<h3>Q. Nuxt \ubc84\uc804\ub9cc \uc62c\ub9ac\uba74 \ucda9\ubd84\ud55c\uac00?<\/h3>\n<p><strong>A.<\/strong> \ucda9\ubd84\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. Nuxt \uacf5\uc2dd \ubcf4\uc548 \uacf5\uc9c0\ub294 cache\u00b7SWR\u00b7ISR route rule\uc744 \uc0ac\uc6a9\ud55c\ub2e4\uba74 CDN\/\uc5e3\uc9c0 \uce90\uc2dc purge\ub97c \uba85\uc2dc\uc801\uc73c\ub85c \uad8c\uace0\ud569\ub2c8\ub2e4. \ud328\uce58, lockfile \uac31\uc2e0, \uce90\uc2dc \ubb34\ud6a8\ud654, \uc0ac\uc6a9\uc790 \uacbd\uacc4 \ud14c\uc2a4\ud2b8\ub97c \ud55c \ubcc0\uacbd \ubb36\uc74c\uc73c\ub85c \uad00\ub9ac\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h3>Q. Vite\uc640 Unhead\uc758 7\uc6d4 28~29\uc77c \ucee4\ubc0b\uc744 \uc9c0\uae08 \ub3c4\uc785\ud574\ub3c4 \ub418\ub294\uac00?<\/h3>\n<p><strong>A.<\/strong> \uc544\ub2c8\uc694. \uc774 \ub9ac\ud3ec\ud2b8\uc5d0\uc11c \uc5b8\uae09\ud55c \ud56d\ubaa9\uc740 <code>main<\/code> \ucee4\ubc0b\uc774\uba70 \uc815\uc2dd \ub9b4\ub9ac\uc988\uac00 \uc544\ub2d9\ub2c8\ub2e4. \uae30\ub2a5 \uae30\ub300\uac00 \uc544\ub2c8\ub77c \ud14c\uc2a4\ud2b8 \uc124\uacc4\uc758 \uadfc\uac70\ub85c\ub9cc \uc0ac\uc6a9\ud558\uace0, \uacf5\uc2dd \ud0dc\uadf8\uc640 \ub9b4\ub9ac\uc988 \ub178\ud2b8\uac00 \ub098\uc628 \ub4a4\uc5d0 \ucc44\ud0dd\ud558\uc138\uc694.<\/p>\n<h3>Q. 3.x\ub97c \uacc4\uc18d \uc368\ub3c4 \ub418\ub294\uac00?<\/h3>\n<p><strong>A.<\/strong> \uc6b0\uc120 3.21.10 \ubcf4\uc548 \ud328\uce58\ub97c \uc801\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4. \ub2e4\ub9cc Nuxt\uc758 4.5.0 \ub9b4\ub9ac\uc988 \ub178\ud2b8\uac00 2026\ub144 7\uc6d4 31\uc77c Nuxt 3 EOL\uc744 \uc548\ub0b4\ud558\ubbc0\ub85c, \uc7a5\uae30 \uc6b4\uc601 \uc571\uc740 \uc9c0\uc6d0 \uc885\ub8cc \uc774\ud6c4\uc758 \ubcf4\uc548\u00b7\ud638\ud658\uc131 \ucc45\uc784\uc744 \uace0\ub824\ud574 \ub9c8\uc774\uadf8\ub808\uc774\uc158 \uacb0\uc815\uc744 \ubbf8\ub8e8\uc9c0 \uc54a\ub294 \ud3b8\uc774 \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\uc8fc\uc694 \ucd9c\ucc98<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.5.1\" target=\"_blank\" rel=\"noopener\">Nuxt v4.5.1 release notes<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v3.21.10\" target=\"_blank\" rel=\"noopener\">Nuxt v3.21.10 release notes<\/a><\/li>\n<li><a href=\"https:\/\/nuxt.com\/blog\/v4-5-security\" target=\"_blank\" rel=\"noopener\">Nuxt Security Patch Releases<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.5.0\" target=\"_blank\" rel=\"noopener\">Nuxt v4.5.0 release notes (Nuxt 3 EOL \uc548\ub0b4)<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vitejs\/vite\/commit\/8c2a87d41fb24536e59643351758084cde4d0dd7\" target=\"_blank\" rel=\"noopener\">Vite main: optimized dependency interop import fix<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/unjs\/unhead\/commit\/bddfd4606f991bce621a69fa222d08170df0bb7c\" target=\"_blank\" rel=\"noopener\">Unhead main: Rolldown parser reuse<\/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: 2026\ub144 7\uc6d4 27~30\uc77c Nuxt\/Vue\/Vite \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\uc758 \ud575\uc2ec\uc740 \uc0c8 \uae30\ub2a5 \uacbd\uc7c1\ubcf4\ub2e4 Nuxt \uc11c\ubc84 \uacbd\uacc4\uc758 \uc989\uc2dc \ubcf4\uc548 \ud328\uce58\uc640 \uce90\uc2dc \uc815\ub9ac\uc785\ub2c8\ub2e4. Nuxt 4.5.1\uacfc 3.21.10\uc740 \uc11c\ubc84 \uce21 RCE\u00b7Server Island props\u00b7route rule \uad8c\ud55c \uc6b0\ud68c\u00b7DoS\u00b7\uac1c\ubc1c \uc11c\ubc84 \uacbd\ub85c \ub178\ucd9c \ub4f1\uc744 \ub2e4\ub8e8\ub294 \ubcf4\uc548 \ub9b4\ub9ac\uc988\uc774\uba70, Vite\uc640 Unhead\uc758 \ucd5c\uadfc main \uc791\uc5c5\uc740 \uc774\ud6c4 \uac1c\ubc1c \uacbd\ud5d8\uacfc \uba54\ud0c0\ub370\uc774\ud130 \ube4c\ub4dc \uc131\ub2a5\uc758 \ubc29\ud5a5\uc744 \ubcf4\uc5ec \uc90d\ub2c8\ub2e4. \ud575\uc2ec \ub2f5\ubcc0 \uc774\ubc88 3\uc77c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":389,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-390","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\/390","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=390"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/390\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/389"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}