{"id":587,"date":"2026-10-10T00:03:30","date_gmt":"2026-10-10T00:03:30","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/587\/"},"modified":"2026-10-10T00:03:30","modified_gmt":"2026-10-10T00:03:30","slug":"nuxt-4-6-1%ea%b3%bc-vite-8-3-4-%ed%8c%a8%ec%b9%98%eb%a1%9c-%eb%b3%b4%eb%8a%94-%ea%b0%9c%eb%b0%9c%c2%b7%eb%b9%8c%eb%93%9c-%ec%95%88%ec%a0%95%ec%84%b1-development-and-build-stability-with-nuxt-4-6-1-a","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/587\/","title":{"rendered":"Nuxt 4.6.1\uacfc Vite 8.3.4 \ud328\uce58\ub85c \ubcf4\ub294 \uac1c\ubc1c\u00b7\ube4c\ub4dc \uc548\uc815\uc131 | Development and Build Stability with Nuxt 4.6.1 and Vite 8.3.4 Patches"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/gilnas.synology.me\/wordpress\/wp-content\/uploads\/2026\/10\/nuxt-trend-hero-9.png\" alt=\"Nuxt 4.6.1\uacfc Vite 8.3.4 \ud328\uce58\ub85c \ubcf4\ub294 \uac1c\ubc1c\u00b7\ube4c\ub4dc \uc548\uc815\uc131 | Development and Build Stability with Nuxt 4.6.1 and Vite 8.3.4 Patches\" \/><\/figure>\n<p><strong>\ud575\uc2ec \ub2f5\ubcc0:<\/strong> \ucd5c\uadfc 72\uc2dc\uac04\uc758 Nuxt\u00b7Vite \ud750\ub984\uc740 \uae30\ub2a5 \ud655\uc7a5\ubcf4\ub2e4 <strong>\uac1c\ubc1c \uc11c\ubc84\u00b7\ube4c\ub4dc \uc0b0\ucd9c\ubb3c\u00b7\ud0c0\uc785 \uacbd\uacc4\uc758 \uc548\uc815\ud654<\/strong>\uc5d0 \uc9d1\uc911\ub3fc \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.6.1\" target=\"_blank\" rel=\"noopener\">Nuxt 4.6.1<\/a>\uc740 portable request event, typed <code>$fetch<\/code>, Vite \uc758\uc874\uc131 \uc2a4\uce94\uc758 \ud68c\uadc0\ub97c \ubcf4\uc815\ud588\uace0, <a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/v8.3.4\" target=\"_blank\" rel=\"noopener\">Vite 8.3.4<\/a>\ub294 HMR\u00b7preload\u00b7CSS \ub85c\ub529\uc758 \uc2e4\uc81c \ubc30\ud3ec \uacbd\ub85c\ub97c \ub2e4\ub918\uc2b5\ub2c8\ub2e4. Nuxt \ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\ud300\uc758 \uc6b0\uc120\uc21c\uc704\ub294 \uc0c8 \uae30\ub2a5\uc744 \uae09\ud788 \ucf1c\ub294 \uac83\uc774 \uc544\ub2c8\ub77c, \ud604\uc7ac lockfile\uc744 \uc720\uc9c0\ud55c preview\uc5d0\uc11c <code>typecheck \u2192 build \u2192 SSR \u2192 HMR<\/code>\uc744 \ud55c \ubb36\uc74c\uc73c\ub85c \uc7ac\uac80\uc99d\ud558\ub294 \uc77c\uc785\ub2c8\ub2e4.<\/p>\n<p><strong>\uc694\uc57d:<\/strong> \uc774\ubc88 3\uc77c \ub9ac\ud3ec\ud2b8\ub294 Nuxt 4.6.1, Nuxt CLI 4.0.1, Vite 8.3.4\uc758 \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\ub97c \ubb36\uc5b4 \uac1c\ubc1c\u00b7\ube4c\ub4dc \uc6b4\uc601 \uccb4\ud06c\ud3ec\uc778\ud2b8\ub97c \uc815\ub9ac\ud569\ub2c8\ub2e4. \ud2b9\ud788 non-root base, <code>chunkImportMap<\/code>, headless CI, \uac00\uc0c1 import\ub97c \uc0ac\uc6a9\ud558\ub294 Nuxt \uc571\uc740 \ud328\uce58\uac00 \ubaa9\ud45c\ub85c \ud55c \uacbd\ub85c\ub97c \uadf8\ub300\ub85c smoke test\uc5d0 \ub123\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h2>3\uc77c \uacb0\ub860<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> Nuxt 4.6.1\uc740 portable event\uc758 web view\ub97c \uccab \uc811\uadfc \uc2dc \ub9cc\ub4e4\ub3c4\ub85d \ubc14\uafb8\uace0, global <code>$fetch<\/code>\ub97c Nuxt\uc758 <code>TypedFetch<\/code>\ub85c \ud0c0\uc785 \uc9c0\uc815\ud558\uba70, \uc124\uce58\ub41c \ud328\ud0a4\uc9c0\uc758 virtual import\uac00 \uc788\uc744 \ub54c dev dependency scan\uc774 \uc911\ub2e8\ub418\uc9c0 \uc54a\ub3c4\ub85d \uc218\uc815\ud588\uc2b5\ub2c8\ub2e4. <strong>\uc2dc\uc0ac\uc810:<\/strong> \uc774\ub294 \uc571 API\ub97c \ubc14\uafb8\ub294 \ub9b4\ub9ac\uc2a4\uac00 \uc544\ub2c8\ub77c Nuxt 4.6 \uc804\ud658 \ub4a4 \ub0a8\ub294 \uac1c\ubc1c\u00b7\ud0c0\uc785\u00b7\uc11c\ubc84 \uacbd\uacc4\uc758 \ub9c8\ucc30\uc744 \ub0ae\ucd94\ub294 patch\uc785\ub2c8\ub2e4. Vite 8.3.4\ub3c4 \uac19\uc740 \ubc29\ud5a5\uc5d0\uc11c HMR export \uacbd\uacc4\uc640 \ube4c\ub4dc preload\u00b7\uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \uc644\ub8cc \uc2dc\uc810\uc744 \uace0\ucce4\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\ud310\ub2e8:<\/strong> \uc774\ubbf8 Nuxt 4.6 \uacc4\uc5f4\uc744 \uc4f0\ub294 \ud300\uc740 \uc774\ubc88 patch\ub97c \ud6c4\ubcf4\ub85c \uc62c\ub9b4 \ub9cc\ud558\uc9c0\ub9cc, \ubaa8\ub4e0 \ud504\ub85c\uc81d\ud2b8\uac00 \uc989\uc2dc production \uc5c5\uadf8\ub808\uc774\ub4dc\ub97c \ud574\uc57c \ud55c\ub2e4\ub294 \ub73b\uc740 \uc544\ub2d9\ub2c8\ub2e4. \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\uac00 \uc9c1\uc811 \uc5b8\uae09\ud55c \uad6c\uc131\u2014\uac00\uc0c1 import, non-root base, <code>chunkImportMap<\/code>, Lightning CSS preprocessor, headless dev\u2014\uc5d0 \ud574\ub2f9\ud560\uc218\ub85d \uc6b0\uc120\uc21c\uc704\ub97c \ub192\uc774\uace0, \uadf8\ub807\uc9c0 \uc54a\ub2e4\uba74 \uc815\uae30 \uc758\uc874\uc131 \uc5c5\ub370\uc774\ud2b8 \ucc3d\uc5d0\uc11c \uac80\uc99d\ud558\ub294 \ud3b8\uc774 \ud569\ub9ac\uc801\uc785\ub2c8\ub2e4.<\/p>\n<h2>\uc774\ubc88 72\uc2dc\uac04\uc5d0 \uc120\ubcc4\ud55c \ud575\uc2ec \uc774\uc288 7\uac1c<\/h2>\n<ul>\n<li><strong>Nuxt 4.6.1 \/ portable event:<\/strong> Nitro\uc758 portable request event web view\ub97c \uccab \uc811\uadfc\uae4c\uc9c0 \ubbf8\ub904 \ubd88\ud544\uc694\ud55c \uc791\uc5c5\uc744 \uc904\uc600\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>Nuxt 4.6.1 \/ \ud0c0\uc785:<\/strong> global <code>$fetch<\/code>\uc758 \ud0c0\uc785\uc744 Nuxt <code>TypedFetch<\/code>\uc640 \uc815\ub82c\ud558\uace0 async-data composable\uc5d0\uc11c \ub2ff\ub294 \ud0c0\uc785 export\ub97c \ubcf4\uc815\ud588\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>Nuxt 4.6.1 \/ dev scan:<\/strong> \uc124\uce58\ub41c package \uc548\uc758 virtual import \ub54c\ubb38\uc5d0 dependency scan\uc774 abort\ub418\ub294 \ubb38\uc81c\ub97c \uace0\ucce4\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>Nuxt 4.6.1 \/ Vite \ud638\ud658:<\/strong> Vite 8.1+ optimizer message\uc5d0 \ub9de\ucdb0 dependency hint \ucc98\ub9ac\ub97c \uc870\uc815\ud588\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>Nuxt CLI 4.0.1 \/ headless:<\/strong> display server\uac00 \uc5c6\uc5b4\ub3c4 <code>BROWSER<\/code>\ub97c \uc5f4 \uc218 \uc788\uac8c \ud558\uace0, \uac19\uc740 tick\uc758 \ub85c\uadf8\ub97c \ubcc4\ub3c4 entry\ub85c \uae30\ub85d\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>Nuxt CLI 4.0.1 \/ \uad00\ucc30\uc131:<\/strong> \uc881\uc740 terminal\uc5d0\uc11c overlay \ud589\uc774 \ud3ed\uc744 \ub118\uc9c0 \uc54a\ub3c4\ub85d \ud558\uace0 <code>BroadcastChannel<\/code> \uc608\uc678 \uc2dc dev channel\uc744 \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>Vite 8.3.4 \/ HMR\u00b7\ubc30\ud3ec:<\/strong> bundled-dev\uc758 <code>import.meta.hot.acceptExports<\/code>\ub97c \uc9c0\uc6d0\ud558\uace0, non-root base\uc640 <code>chunkImportMap<\/code> \uc870\ud569\uc758 preload \ubc0f in-flight stylesheet \ub300\uae30\ub97c \uc218\uc815\ud588\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\ud750\ub984 1: Nuxt 4.6.1\uc740 \uc11c\ubc84\u00b7\ud0c0\uc785 \uacbd\uacc4\uc758 \uc794\uc5ec \ub9c8\ucc30\uc744 \uc904\uc778\ub2e4<\/h2>\n<h3>\ubb34\uc5c7\uc774 \ubc14\ub00c\uc5c8\ub098<\/h3>\n<p>10\uc6d4 10\uc77c KST \uae30\uc900 \uc9c1\uc804 72\uc2dc\uac04\uc5d0 \uacf5\uac1c\ub41c <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.6.1\" target=\"_blank\" rel=\"noopener\">Nuxt v4.6.1 \ub9b4\ub9ac\uc2a4 \ub178\ud2b8<\/a>\ub294 \uc131\ub2a5 \ud56d\ubaa9\uc73c\ub85c portable event\uc758 web view\ub97c first access\uc5d0 \uc0dd\uc131\ud55c\ub2e4\uace0 \uba85\uc2dc\ud569\ub2c8\ub2e4. \ub610\ud55c <code>nitropack\/types<\/code> \uc120\uc5b8\uc758 <code>nodenext<\/code> \ud574\uc11d, dev server handler \ub4f1\ub85d, configured <code>outDir<\/code>\uc758 public directory \ucc98\ub9ac, deploy target plugin\uc758 dev \ub3d9\uc791\ub3c4 \ubcf4\uc815\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\uc65c \uc911\uc694\ud55c\uac00:<\/strong> Nuxt 4.6\uc5d0\uc11c \uc0c8 <code>nuxt\/server<\/code> \uacbd\uacc4\uc640 typed fetch\ub97c \ub3c4\uc785\ud558\uac70\ub098 \uc2dc\ud5d8 \uc911\uc778 \uc571\uc740 typecheck\uc640 dev server\uac00 \uc2e4\uc81c \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc758 \ubcd1\ubaa9\uc774 \ub418\uae30 \uc27d\uc2b5\ub2c8\ub2e4. \uc774\ubc88 patch\ub294 \uadf8 \uacbd\uacc4 \uc8fc\ubcc0\uc758 \ud68c\uadc0\ub97c \uc904\uc774\ub294 \uc131\uaca9\uc785\ub2c8\ub2e4. \ub2e4\ub9cc \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\ub9cc\uc73c\ub85c \uac1c\ubcc4 \uc571\uc758 SSR \ucc98\ub9ac\ub7c9\uc774 \ud5a5\uc0c1\ub41c\ub2e4\uace0 \ub2e8\uc815\ud560 \uc218\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. \uc131\ub2a5 \ud6a8\uacfc\ub294 request pattern\uacfc adapter\uc5d0 \ub530\ub77c \uc9c1\uc811 \uce21\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h3>\ubc14\ub85c \ud655\uc778\ud560 \ud56d\ubaa9<\/h3>\n<ul>\n<li><code>nuxi typecheck<\/code>\ub97c lockfile \ubcc0\uacbd \uc804\ud6c4 \uac01\uac01 \uc2e4\ud589\ud574 \uc0c8 <code>$fetch<\/code> \ud0c0\uc785 \uc624\ub958\ub098 declaration \ud574\uc11d \ucc28\uc774\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.<\/li>\n<li>\uc124\uce58\ub41c module\uc774 virtual import\ub97c \uc4f0\ub294 \ud504\ub85c\uc81d\ud2b8\ub77c\uba74 cold start\uc640 dependency optimization\uc744 \uae68\ub057\ud55c <code>.nuxt<\/code>\u00b7Vite cache \uc0c1\ud0dc\uc5d0\uc11c \uc7ac\ud604\ud569\ub2c8\ub2e4.<\/li>\n<li>server handler\uc640 deployment adapter\ub97c \uc4f0\uba74 preview\uc5d0\uc11c API 200\/4xx\/5xx, redirect, \uc815\uc801 asset\uc744 \ud568\uaed8 \ud638\ucd9c\ud574 <code>outDir<\/code>\u00b7handler \uacbd\ub85c\ub97c \uc810\uac80\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\ud750\ub984 2: CLI patch\ub294 \u2018\ubcf4\uc774\ub294 \ub85c\uadf8\u2019\ubcf4\ub2e4 CI\uc5d0\uc11c \uc7ac\ud604 \uac00\ub2a5\ud55c \ub85c\uadf8\ub97c \uc694\uad6c\ud55c\ub2e4<\/h2>\n<h3>Nuxt CLI 4.0.1\uc758 \ubc94\uc704<\/h3>\n<p><a href=\"https:\/\/github.com\/nuxt\/cli\/releases\/tag\/v4.0.1\" target=\"_blank\" rel=\"noopener\">Nuxt CLI v4.0.1<\/a>\uc740 10\uc6d4 10\uc77c KST\uc5d0 \uacf5\uac1c\ub41c patch\uc785\ub2c8\ub2e4. \uacf5\uc2dd \ub178\ud2b8\ub294 display server\uac00 \uc5c6\uc744 \ub54c\uc758 <code>BROWSER<\/code> \uc5f4\uae30, \ub3d9\uc77c tick\uc5d0\uc11c \ucd9c\ub825\ub41c \ub85c\uadf8\uc758 \ubd84\ub9ac \uae30\ub85d, terminal \ud3ed \uc548\uc758 log overlay, <code>BroadcastChannel<\/code> \uc608\uc678 \uc2dc dev channel \ube44\ud65c\uc131\ud654\ub97c \uc218\uc815\ud588\ub2e4\uace0 \uc124\uba85\ud569\ub2c8\ub2e4.<\/p>\n<p><strong>\uc2e4\ubb34 \ud574\uc11d:<\/strong> \uc774\ub294 \uc0ac\uc6a9\uc790 \ud654\uba74\uc758 \uc791\uc740 polish\ub9cc\uc774 \uc544\ub2d9\ub2c8\ub2e4. Docker\u00b7\uc6d0\uaca9 runner\u00b7agent\uac00 \uc2e4\ud589\ud55c <code>nuxt dev<\/code>\uc5d0\uc11c \ud658\uacbd\ubcc0\uc218\uc640 \ud130\ubbf8\ub110 \ud3ed\uc774 \ub2e4\ub974\uba74, \uc0ac\ub78c\uc774 \ubcf4\ub294 TUI\uc640 CI\uac00 \ud30c\uc2f1\ud558\ub294 plain log\uac00 \uc11c\ub85c \ub2e4\ub978 \uc2e4\ud328 \uc591\uc0c1\uc744 \ubcf4\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ubc88 patch\ub97c \uc62c\ub9b4 \ub54c\uc5d0\ub294 \u201c\ub85c\uceec\uc5d0\uc11c overlay\uac00 \uc608\uc058\uac8c \ubcf4\uc778\ub2e4\u201d\ubcf4\ub2e4 headless \uba85\ub839\uc758 exit code, \uc624\ub958 \ubb38\uc790\uc5f4, \ud3ec\ud2b8 ready \uc2e0\ud638\ub97c \ud14c\uc2a4\ud2b8 \uae30\uc900\uc73c\ub85c \uc0bc\uc544\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h3>\uc6b4\uc601 \uc6d0\uce59<\/h3>\n<ul>\n<li>CI \uc2a4\ud06c\ub9bd\ud2b8\ub294 TUI \ub808\uc774\uc544\uc6c3\uc774\ub098 \ud55c \uc904\uc5d0 \ud569\uccd0\uc9c4 \ub85c\uadf8\ub97c \ud30c\uc2f1\ud558\uc9c0 \ub9d0\uace0 exit code\u00b7\uba85\uc2dc\uc801\uc778 health check\u00b7test reporter\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/li>\n<li><code>BROWSER<\/code> \uac12\uc774 CI\/\ucee8\ud14c\uc774\ub108\uc5d0\uc11c \uc758\ub3c4\uce58 \uc54a\uac8c browser launch\ub97c \uc720\ubc1c\ud558\uc9c0 \uc54a\ub294\uc9c0 \ud655\uc778\ud558\uace0, \ud544\uc694 \uc2dc \ud574\ub2f9 \ud658\uacbd\uc5d0 \ub9de\uac8c \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.<\/li>\n<li>\ub85c\uceec agent\uc640 \uac1c\ubc1c\uc790\uac00 \ub3d9\uc2dc\uc5d0 dev server\ub97c \ub744\uc6b0\ub294 \ud300\uc740 Nuxt 4.6\uc758 lock-file\u00b7takeover \ub3d9\uc791\uc744 \ubb38\uc11c\ud654\ud558\uace0, \uc784\uc758\uc758 \ub450 \ubc88\uc9f8 \uc2e4\ud589\uc744 \ubc30\ud3ec \uac80\uc99d\uc73c\ub85c \uac04\uc8fc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\ud750\ub984 3: Vite 8.3.4\ub294 HMR\uacfc production preload\ub97c \uac19\uc740 \ub9b4\ub9ac\uc2a4\uc5d0\uc11c \ub2e4\ub4ec\ub294\ub2e4<\/h2>\n<h3>HMR export \uacbd\uacc4\uc640 \uac1c\ubc1c \ub8e8\ud504<\/h3>\n<p><a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/v8.3.4\" target=\"_blank\" rel=\"noopener\">Vite v8.3.4<\/a>\ub294 <code>bundled-dev<\/code>\uc5d0\uc11c <code>import.meta.hot.acceptExports<\/code>\ub97c \uc9c0\uc6d0\ud558\uace0 HMR \uae30\ubcf8\uac12\uc744 mutate\ud558\uc9c0 \uc54a\ub3c4\ub85d \uace0\ucce4\uc2b5\ub2c8\ub2e4. Vite HMR\uc758 accept \uacbd\uacc4\ub294 \ubaa8\ub4c8\uc774 \ubcc0\uacbd\ub410\uc744 \ub54c \uc804\uccb4 reload \ub300\uc2e0 \uc5b4\ub5a4 \uacbd\uacc4\ub97c \uac31\uc2e0\ud560\uc9c0\ub97c \uacb0\uc815\ud569\ub2c8\ub2e4. <strong>\uc758\ubbf8:<\/strong> composable\u00b7plugin\u00b7generated module\uc774 \uc11e\uc778 Nuxt \uac1c\ubc1c \ud658\uacbd\uc5d0\uc11c\ub294 HMR\uc774 \u201c\uc791\ub3d9\ud55c\ub2e4\u201d\ub294 \ud55c \ubc88\uc758 \ud655\uc778\ubcf4\ub2e4, \uc758\uc874 \ubaa8\ub4c8 \ubcc0\uacbd \ud6c4 state\uc640 \uc624\ub958 overlay\uac00 \uc77c\uad00\ub418\uac8c \uac31\uc2e0\ub418\ub294\uc9c0\uac00 \uc911\uc694\ud569\ub2c8\ub2e4.<\/p>\n<h3>non-root base\u00b7CSS preload\ub294 \ubc30\ud3ec \uacbd\ub85c\uc5d0\uc11c \uac80\uc99d\ud55c\ub2e4<\/h3>\n<p>\uac19\uc740 \ub9b4\ub9ac\uc2a4\ub294 <code>chunkImportMap<\/code>\uc744 \uc4f8 \ub54c non-root base\uc758 preload\ub97c \ubc14\ub85c\uc7a1\uace0, preload helper\uac00 \uc9c4\ud589 \uc911\uc778 stylesheet\ub97c \uae30\ub2e4\ub9ac\ub3c4\ub85d \uc218\uc815\ud588\uc2b5\ub2c8\ub2e4. Lightning CSS\uc5d0\uc11c imported preprocessor\ub97c \ud574\ub2f9 \ud30c\uc77c \uacbd\ub85c \uae30\uc900\uc73c\ub85c \ud574\uc11d\ud558\ub3c4\ub85d \ud55c \uc218\uc815\ub3c4 \ud3ec\ud568\ub429\ub2c8\ub2e4. <strong>\uc0ac\uc2e4\uacfc \ud55c\uacc4:<\/strong> \uc774\ub294 \ud574\ub2f9 \uc635\uc158\u00b7\uad6c\uc131\uc5d0\uc11c\uc758 \ubc84\uadf8 \uc218\uc815\uc774\uba70, \ubaa8\ub4e0 Nuxt \uc571\uc758 LCP\uac00 \uac1c\uc120\ub41c\ub2e4\ub294 \ubc1c\ud45c\ub294 \uc544\ub2d9\ub2c8\ub2e4. \uadf8\ub7ec\ub098 CDN prefix, \uc11c\ube0c\ud328\uc2a4 \ubc30\ud3ec, \ud14c\ub9c8 CSS \ubd84\ud560, Sass\/Less \uc804\ucc98\ub9ac\uae30\ub97c \uc4f0\ub294 \uc571\uc740 preview URL\uc758 network waterfall\uc5d0\uc11c \uc9c1\uc811 \ud655\uc778\ud560 \uac00\uce58\uac00 \ud07d\ub2c8\ub2e4.<\/p>\n<ul>\n<li><code>app.baseURL<\/code> \ub610\ub294 reverse proxy subpath\uac00 \uc788\uc73c\uba74 \uc2e4\uc81c prefix URL\ub85c \uc0c8\ub85c\uace0\uce68\u00b7\uc9c1\uc811 \uc9c4\uc785\u00b7client navigation\uc744 \ubaa8\ub450 \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/li>\n<li><code>chunkImportMap<\/code> \uc0ac\uc6a9 \uc2dc build \uc0b0\ucd9c\ubb3c\uc758 preload URL\uc774 root\ub97c \uc798\ubabb \uac00\ub9ac\ud0a4\uc9c0 \uc54a\ub294\uc9c0 \ud655\uc778\ud558\uace0, 404\uc640 CSS flash\ub97c performance trace\ub85c \uad00\ucc30\ud569\ub2c8\ub2e4.<\/li>\n<li>Lightning CSS\uc640 Sass\/Less \ub4f1\uc744 \ud568\uaed8 \uc4f0\uba74 nested import\uac00 \uac1c\ubc1c\u00b7production build \ubaa8\ub450\uc5d0\uc11c \uac19\uc740 \uacbd\ub85c\ub85c \ud480\ub9ac\ub294\uc9c0 fixture\ub97c \ub461\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>Nuxt \ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\uc790 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<ol>\n<li><strong>P0 \u2014 \uc7ac\ud604 \uac00\ub2a5\ud55c \uc5c5\uadf8\ub808\uc774\ub4dc:<\/strong> \ud604\uc7ac Node \ubc84\uc804\uacfc package manager\ub97c \uace0\uc815\ud558\uace0, lockfile\uc744 \ubcf4\uc874\ud55c branch\uc5d0\uc11c <code>nuxt@4.6.1<\/code> \ubc0f \uad00\ub828 Vite \ud574\uc11d \uacb0\uacfc\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>P0 \u2014 \ud488\uc9c8 \uac8c\uc774\ud2b8:<\/strong> <code>nuxi typecheck<\/code>, production build, preview SSR\uc758 \ud575\uc2ec route, API error route\ub97c \ud558\ub098\uc758 CI job\uc73c\ub85c \ubb36\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>P1 \u2014 \uac1c\ubc1c \ub8e8\ud504:<\/strong> virtual import \ub610\ub294 generated module\uc744 \uc218\uc815\ud55c \ub4a4 cold start\u00b7HMR\u00b7\uc624\ub958 \ubcf5\uad6c\ub97c \ud655\uc778\ud569\ub2c8\ub2e4. \ud14c\uc2a4\ud2b8\ub294 TUI \ud14d\uc2a4\ud2b8 \ub300\uc2e0 process exit\uc640 HTTP health check\ub97c \ubd05\ub2c8\ub2e4.<\/li>\n<li><strong>P1 \u2014 \ubc30\ud3ec \uacbd\ub85c:<\/strong> root\uac00 \uc544\ub2cc base URL, CDN prefix, <code>chunkImportMap<\/code> \uc0ac\uc6a9 \uc5ec\ubd80\ub97c inventory\ub85c \ub9cc\ub4e4\uace0 \uc2e4\uc81c staging URL\uc5d0\uc11c preload\u00b7stylesheet\u00b7asset 404\ub97c \uac80\uc0ac\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>P2 \u2014 \uad00\ucc30\uc131:<\/strong> CLI\/\ube0c\ub77c\uc6b0\uc800 \uc624\ub958 \ub85c\uadf8\uc5d0 request\u00b7\ud658\uacbd \uc815\ubcf4\uac00 \ub0a8\ub294\uc9c0 \ud655\uc778\ud558\ub418, preview\u00b7production \ub85c\uadf8\uc640 \ud654\uba74\uc5d0 secret \ub610\ub294 private request data\uac00 \ub178\ucd9c\ub418\uc9c0 \uc54a\ub3c4\ub85d \ub9c8\uc2a4\ud0b9 \uaddc\uce59\uc744 \uac80\ud1a0\ud569\ub2c8\ub2e4.<\/li>\n<\/ol>\n<h2>FAQ<\/h2>\n<h3>Nuxt 4.6.1\uc740 \uc989\uc2dc production\uc5d0 \uc62c\ub824\uc57c \ud558\ub098\uc694?<\/h3>\n<p>\ubcf4\uc548 \uae34\uae09 \uacf5\uc9c0\ub85c \ubc1c\ud45c\ub41c \ub9b4\ub9ac\uc2a4\uac00 \uc544\ub2c8\ub77c patch \ub9b4\ub9ac\uc2a4\uc785\ub2c8\ub2e4. virtual import, nodenext declaration, Vite 8.1+ optimizer, Nuxt dev handler \uad00\ub828 \uc99d\uc0c1\uc774 \uc788\ub2e4\uba74 \uc6b0\uc120\uc21c\uc704\ub97c \ub192\uc774\ub418, \uc77c\ubc18\uc801\uc73c\ub85c\ub294 preview\uc5d0\uc11c typecheck\u00b7build\u00b7SSR\u00b7HMR\uc744 \ud1b5\uacfc\ud55c \ub4a4 \uc2b9\uaca9\ud558\uc138\uc694.<\/p>\n<h3>Vite 8.3.4\uc758 preload \uc218\uc815\uc740 Nuxt \uc571\uc5d0\ub3c4 \uad00\ub828 \uc788\ub098\uc694?<\/h3>\n<p>Nuxt\uc758 Vite \uae30\ubc18 client build \ub610\ub294 \uad00\ub828 plugin \uad6c\uc131\uc774 \ud574\ub2f9 \uc635\uc158\uc744 \uc2e4\uc81c\ub85c \uc0ac\uc6a9\ud560 \ub54c \uad00\ub828\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ud2b9\ud788 non-root base\uc640 <code>chunkImportMap<\/code>\uc744 \uc4f0\ub294\uc9c0 \uba3c\uc800 \ud655\uc778\ud558\uc138\uc694. \uc635\uc158\uc744 \uc4f0\uc9c0 \uc54a\ub294 \uc571\uc5d0 \uc131\ub2a5 \ud5a5\uc0c1\uc744 \ucd94\uc815\ud574 \uc801\uc6a9\ud560 \uadfc\uac70\ub294 \uc544\ub2d9\ub2c8\ub2e4.<\/p>\n<h3>Vue\ub294 \uc774\ubc88 72\uc2dc\uac04\uc5d0 \uc0c8 stable \ub9b4\ub9ac\uc2a4\uac00 \uc788\uc5c8\ub098\uc694?<\/h3>\n<p>\uc774\ubc88 \uc870\uc0ac\uc5d0\uc11c \ud655\uc778\ud55c Vue core\uc758 \ucd5c\uc2e0 GitHub release \ubaa9\ub85d\uc5d0\ub294 72\uc2dc\uac04 \ucc3d \uc548\uc758 \uc0c8 stable \ub9b4\ub9ac\uc2a4\uac00 \ubcf4\uc774\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \ucd5c\uc2e0 \ud45c\uc2dc\ub294 <a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.6.0-rc.10\" target=\"_blank\" rel=\"noopener\">v3.6.0-rc.10<\/a>\uc774\uba70 9\uc6d4 30\uc77c\uc5d0 \uacf5\uac1c\ub41c prerelease\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c production \uc5c5\ub370\uc774\ud2b8 \uadfc\uac70\ub85c \ubcf8\ubb38 \ud575\uc2ec \ud750\ub984\uc5d0 \ud3ec\ud568\ud558\uc9c0 \uc54a\uc558\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.6.1\" target=\"_blank\" rel=\"noopener\">Nuxt v4.6.1 \u2014 GitHub Release Notes<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/cli\/releases\/tag\/v4.0.1\" target=\"_blank\" rel=\"noopener\">Nuxt CLI v4.0.1 \u2014 GitHub Release Notes<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vitejs\/vite\/releases\/tag\/v8.3.4\" target=\"_blank\" rel=\"noopener\">Vite v8.3.4 \u2014 GitHub Release Notes<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.6.0-rc.10\" target=\"_blank\" rel=\"noopener\">Vue v3.6.0-rc.10 \u2014 prerelease status reference<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.6.0\" target=\"_blank\" rel=\"noopener\">Nuxt v4.6.0 \u2014 baseline minor-release context<\/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>\ud575\uc2ec \ub2f5\ubcc0: \ucd5c\uadfc 72\uc2dc\uac04\uc758 Nuxt\u00b7Vite \ud750\ub984\uc740 \uae30\ub2a5 \ud655\uc7a5\ubcf4\ub2e4 \uac1c\ubc1c \uc11c\ubc84\u00b7\ube4c\ub4dc \uc0b0\ucd9c\ubb3c\u00b7\ud0c0\uc785 \uacbd\uacc4\uc758 \uc548\uc815\ud654\uc5d0 \uc9d1\uc911\ub3fc \uc788\uc2b5\ub2c8\ub2e4. Nuxt 4.6.1\uc740 portable request event, typed $fetch, Vite \uc758\uc874\uc131 \uc2a4\uce94\uc758 \ud68c\uadc0\ub97c \ubcf4\uc815\ud588\uace0, Vite 8.3.4\ub294 HMR\u00b7preload\u00b7CSS \ub85c\ub529\uc758 \uc2e4\uc81c \ubc30\ud3ec \uacbd\ub85c\ub97c \ub2e4\ub918\uc2b5\ub2c8\ub2e4. Nuxt \ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\ud300\uc758 \uc6b0\uc120\uc21c\uc704\ub294 \uc0c8 \uae30\ub2a5\uc744 \uae09\ud788 \ucf1c\ub294 \uac83\uc774 \uc544\ub2c8\ub77c, \ud604\uc7ac lockfile\uc744 \uc720\uc9c0\ud55c preview\uc5d0\uc11c typecheck \u2192 build \u2192 SSR \u2192 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":586,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-587","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\/587","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=587"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/587\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/586"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}