{"id":616,"date":"2026-10-15T00:07:55","date_gmt":"2026-10-15T00:07:55","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/616\/"},"modified":"2026-10-15T00:07:55","modified_gmt":"2026-10-15T00:07:55","slug":"nuxt-%ec%9a%b4%ec%98%81-vue-3-5-%ec%95%88%ec%a0%95%ed%99%94%ec%99%80-devtools%c2%b7%ec%8a%a4%ed%86%a0%eb%a6%ac%ec%a7%80-%ea%b2%bd%ea%b3%84-%ec%a0%90%ea%b2%80-nuxt-operations-vue-devtools-and-sto","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/616\/","title":{"rendered":"Nuxt \uc6b4\uc601: Vue 3.5 \uc548\uc815\ud654\uc640 DevTools\u00b7\uc2a4\ud1a0\ub9ac\uc9c0 \uacbd\uacc4 \uc810\uac80 | Nuxt Operations: Vue, DevTools, and Storage Boundaries"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/gilnas.synology.me\/wordpress\/wp-content\/uploads\/2026\/10\/nuxt-2026-10-15-hero.png\" alt=\"Nuxt \uc6b4\uc601: Vue 3.5 \uc548\uc815\ud654\uc640 DevTools\u00b7\uc2a4\ud1a0\ub9ac\uc9c0 \uacbd\uacc4 \uc810\uac80 | Nuxt Operations: Vue, DevTools, and Storage Boundaries\" \/><\/figure>\n<p><strong>\uc694\uc57d:<\/strong> 2026\ub144 10\uc6d4 12\uc77c~15\uc77c(KST)\uc758 Nuxt \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\ub294 Vue 3.5 \uc548\uc815\ud654, Nuxt DevTools \uc811\uadfc \uc81c\uc5b4, Rolldown \ubc88\ub4e4 \uc815\ud655\uc131, Unstorage \ud0a4 \uac80\uc99d, Unhead SEO \ucd9c\ub825 \ubcf4\uc815\uc73c\ub85c \uc774\uc5b4\uc84c\uc2b5\ub2c8\ub2e4. \uc774\ubc88 3\uc77c \ub9ac\ud3ec\ud2b8\uc758 \ud575\uc2ec\uc740 \uc0c8 \uae30\ub2a5\uc744 \uc11c\ub458\ub7ec \ub3c4\uc785\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c SSR\u00b7\uac1c\ubc1c \uc11c\ubc84\u00b7\uc2a4\ud1a0\ub9ac\uc9c0\u00b7\uba54\ud0c0\ub370\uc774\ud130\uc758 \uacbd\uacc4\ub97c \ud68c\uadc0 \ud14c\uc2a4\ud2b8\ub85c \uace0\uc815\ud558\ub294 \uc77c\uc785\ub2c8\ub2e4.<\/p>\n<h2>\ud575\uc2ec \ub2f5\ubcc0<\/h2>\n<p>Nuxt \ud300\uc740 <strong>Vue 3.5.44\ub97c staging\uc5d0\uc11c \uac80\uc99d<\/strong>\ud558\uace0, \ud504\ub9ac\ubdf0\u00b7\uac1c\ubc1c \ud658\uacbd\uc5d0\uc11c\ub294 <strong>DevTools server config\uc640 storage mount\uc758 \uc778\uc99d \uacbd\uacc4<\/strong>\ub97c \ud655\uc778\ud574\uc57c \ud569\ub2c8\ub2e4. Rolldown\/Vite \uacbd\ub85c\ub97c \uc0ac\uc6a9\ud558\ub294 \ud504\ub85c\uc81d\ud2b8\ub294 dynamic import\u00b7\uc7ac\ub0b4\ubcf4\ub0b4\uae30\u00b7HMR\u00b7\uc18c\uc2a4\ub9f5 \ud14c\uc2a4\ud2b8\ub97c, \uc678\ubd80 \uc800\uc7a5\uc18c\ub97c \uc4f0\ub294 \ud504\ub85c\uc81d\ud2b8\ub294 URL \ud0a4\uc758 \uc778\ucf54\ub529\u00b7\uac80\uc99d \ud14c\uc2a4\ud2b8\ub97c CI\uc5d0 \ub123\ub294 \uac83\uc774 \uc774\ubc88 \uae30\uac04\uc758 \uc9c1\uc811\uc801\uc778 \uc561\uc158\uc785\ub2c8\ub2e4.<\/p>\n<h2>3\uc77c \uacb0\ub860: \ub7f0\ud0c0\uc784 \uacbd\uacc4\uc758 \uc815\ud655\uc131\uc774 \uacf5\ud1b5 \uc8fc\uc81c<\/h2>\n<p>\uc774\ubc88 \ucc3d\uc758 \uc815\uc2dd \ub9b4\ub9ac\uc988\ub294 \ub300\ud615 API \uc804\ud658\ubcf4\ub2e4 \ubaa8\uc11c\ub9ac \uc870\uac74\uc744 \ubcf4\uc815\ud569\ub2c8\ub2e4. Vue 3.5.44\ub294 hydration, watcher, <code>v-html<\/code>, SSR \uc624\ub958 \uc804\ud30c\ub97c \ub2e4\ub4ec\uc5c8\uc2b5\ub2c8\ub2e4. Nuxt DevTools 3.4.3\uc740 \ubbfc\uac10\ud55c server config\uc640 storage mount\uc5d0 \uac1c\ubc1c \uc778\uc99d \ud1a0\ud070\uc744 \uc694\uad6c\ud569\ub2c8\ub2e4. Rolldown\uc740 \ucf54\ub4dc \ubd84\ud560\uacfc tree-shaking\uc758 \uc2e4\ud589 \uc21c\uc11c\u00b7\uc7ac\ub0b4\ubcf4\ub0b4\uae30 \ubcf4\uc874\uc744, Unstorage\ub294 URL \ud0a4 \uc778\ucf54\ub529\uacfc \uc785\ub825 \uac80\uc99d\uc744, Unhead\ub294 robots\u00b7\uc18c\uc15c \uce74\ub4dc\u00b7scope \uc815\ub9ac\ub97c \ubcf4\uc644\ud588\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc774 \ubcf4\uace0\uc11c\ub294 \u201c\uc5c5\uadf8\ub808\uc774\ub4dc\ud558\uba74 \ube68\ub77c\uc9c4\ub2e4\u201d\uac00 \uc544\ub2c8\ub77c \u201c\ub7f0\ud0c0\uc784 \uacc4\uc57d\uc744 \ud14c\uc2a4\ud2b8\ub85c \uc99d\uba85\ud558\ub77c\u201d\ub294 \ud750\ub984\uc73c\ub85c \uc77d\ub294 \uac83\uc774 \uc815\ud655\ud569\ub2c8\ub2e4.<\/p>\n<h2>\ud750\ub984 1: Vue 3.5.44\uc758 \uc548\uc815\uc131 \ud328\uce58\ub294 Nuxt SSR fixture\ub97c \ub2e4\uc2dc \ubcf4\uac8c \ub9cc\ub4e0\ub2e4<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> Vue 3.5.44\ub294 10\uc6d4 13\uc77c \ubc30\ud3ec\ub410\uc2b5\ub2c8\ub2e4. \uacf5\uc2dd \ubcc0\uacbd \uc774\ub825\uc5d0\ub294 <code>hydrateOnVisible<\/code>\uc5d0\uc11c <code>display: contents<\/code> \ub8e8\ud2b8 \uc790\uc2dd \uad00\ucc30 \uc218\uc815, \uc911\ucca9 effect \uc548 watcher callback\uc758 \uc758\uc874\uc131 \ucd94\uc801 \uc218\uc815, <code>v-html<\/code>\uc758 <code>0<\/code>\/<code>false<\/code> \uc9c1\ub82c\ud654 \uc218\uc815, <code>async setup<\/code> \uc624\ub958\uc758 server renderer \uc804\ud30c\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/vuejs\/core\/blob\/main\/CHANGELOG.md\" target=\"_blank\" rel=\"noopener\">Vue 3.5.44 \uacf5\uc2dd CHANGELOG<\/a><\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> Nuxt hydration \uc774\uc288\ub294 \ub2e8\uc21c\ud55c \ud074\ub77c\uc774\uc5b8\ud2b8 \ubd88\uc77c\uce58\uac00 \uc544\ub2d0 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc9c0\uc5f0 hydration, async component, watcher \uc7ac\uc9c4\uc785, \uc870\uac74\ubd80 \uc2a4\ud0c0\uc77c\uacfc SSR \uc624\ub958 \uacbd\ub85c\ub97c \ubd84\ub9ac\ud574 \uc7ac\ud604\ud574\uc57c \ud569\ub2c8\ub2e4. \ub514\uc790\uc778 \uc2dc\uc2a4\ud15c\uc5d0\uc11c <code>display: contents<\/code>, <code>v-show<\/code>, <code>v-html<\/code>\uc744 \uc4f0\uac70\ub098 composable \uc548\uc5d0\uc11c watcher\uac00 \uc911\ucca9\ub418\ub294 \uacbd\uc6b0\uc5d0\ub294 \ud328\uce58 \uc804\ud6c4 \uc2a4\ub0c5\uc0f7\u00b7\ube0c\ub77c\uc6b0\uc800 \uacbd\uace0\u00b7\uc11c\ubc84 \uc624\ub958 \uc751\ub2f5\uc744 \ube44\uad50\ud558\ub294 \ud3b8\uc774 \uc548\uc804\ud569\ub2c8\ub2e4.<\/p>\n<h3>\uc801\uc6a9 \uccb4\ud06c<\/h3>\n<ul>\n<li>async setup \uc2e4\ud328\uac00 \uc624\ub958 \ud398\uc774\uc9c0\u00b7\uc11c\ubc84 \ub85c\uadf8\u00b7\uc751\ub2f5 \uc0c1\ud0dc\uc5d0 \uc77c\uad00\ub418\uac8c \ub098\ud0c0\ub098\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/li>\n<li>lazy hydration + <code>display: contents<\/code>, \uc870\uac74\ubd80 <code>v-show<\/code>, \uc22b\uc790\/\ubd88\ub9ac\uc5b8 <code>v-html<\/code> fixture\ub97c E2E\uc5d0 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/li>\n<li>\uc911\ucca9 effect\uc5d0\uc11c watcher\uac00 \uc0c1\ud0dc\ub97c \uc77d\ub294 composable\uc740 \uc758\uc874\uc131 \uc7ac\uc218\uc9d1\uc744 \uc810\uac80\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\ud750\ub984 2: DevTools\uc640 \uc2a4\ud1a0\ub9ac\uc9c0\uc5d0\uc11c \u201c\uac1c\ubc1c \uc804\uc6a9\u201d\uc740 \uc811\uadfc \uc81c\uc5b4\ub97c \ub73b\ud558\uc9c0 \uc54a\ub294\ub2e4<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> Nuxt DevTools 3.4.3\uc740 10\uc6d4 14\uc77c \ubc30\ud3ec\ub410\uace0 server config \ubc0f storage mount\uc5d0 \uac1c\ubc1c \uc778\uc99d \ud1a0\ud070\uc744 \uc694\uad6c\ud558\ub3c4\ub85d \uc218\uc815\ud588\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/nuxt\/devtools\/releases\/tag\/v3.4.3\" target=\"_blank\" rel=\"noopener\">Nuxt DevTools 3.4.3 \ub9b4\ub9ac\uc988<\/a> \uac19\uc740 \ub0a0 Unstorage 1.17.6\uc740 HTTP\u00b7S3\u00b7Cloudflare KV HTTP\uc5d0\uc11c URL \ud0a4 \uc138\uadf8\uba3c\ud2b8\ub97c \uc778\ucf54\ub529\ud558\uace0, URL\u00b7\ud328\ud134\uc5d0 \uc4f0\uc774\ub294 \ud0a4\ub97c \uac80\uc99d\/\uc774\uc2a4\ucf00\uc774\ud504\ud558\uba70, \ube48 \ud0a4\u00b7dot segment\u00b7\uc81c\uc5b4 \ubb38\uc790 \ub4f1\uc744 \uac70\ubd80\ud558\ub3c4\ub85d \ubcf4\uc644\ud588\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/unjs\/unstorage\/releases\/tag\/v1.17.6\" target=\"_blank\" rel=\"noopener\">Unstorage 1.17.6 \ub9b4\ub9ac\uc988<\/a><\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> \uc774 \ub450 \ud328\ud0a4\uc9c0\ub294 \ub2ec\ub77c\ub3c4 \ud504\ub9ac\ubdf0 \uac1c\ubc1c \uc11c\ubc84\uc640 \uc678\ubd80 \uc800\uc7a5\uc18c\ub97c \uc5f0\uacb0\ud560 \ub54c \ub0b4\ubd80 \ub3c4\uad6c\ub098 key\uac00 \uc790\ub3d9\uc73c\ub85c \uc548\uc804\ud558\ub2e4\ub294 \uac00\uc815\uc744 \uc904\uc785\ub2c8\ub2e4. Nuxt route handler, \uce90\uc2dc \ud0a4, \uc5c5\ub85c\ub4dc \ud30c\uc77c\uba85, tenant prefix\ub97c URL\u00b7\uc2a4\ud1a0\ub9ac\uc9c0 \ud0a4\ub85c \ub9cc\ub4dc\ub294 \ucf54\ub4dc\ub294 \uc815\uaddc\ud654\uc640 \uc778\ucf54\ub529 \ucc45\uc784\uc758 \uc704\uce58\ub97c \uba85\ud655\ud788 \ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub294 \uc54c\ub824\uc9c4 \ucde8\uc57d\uc810 \ubc88\ud638\ub97c \ub2e8\uc815\ud558\ub294 \uacbd\ubcf4\uac00 \uc544\ub2c8\ub77c, \uacf5\uc2dd \ud328\uce58 \ubc94\uc704\ub97c \uadfc\uac70\ub85c \ud55c \uc608\ubc29\uc801 \uc6b4\uc601 \uc810\uac80\uc785\ub2c8\ub2e4.<\/p>\n<h3>\uc801\uc6a9 \uccb4\ud06c<\/h3>\n<ul>\n<li>\ud504\ub9ac\ubdf0 \ud658\uacbd\uc758 DevTools\ub97c \uc678\ubd80\uc5d0 \ub178\ucd9c\ud558\uc9c0 \uc54a\uace0, \ud544\uc694\ud560 \uacbd\uc6b0 \ud1a0\ud070 \uc5c6\uc774\ub294 server config\uc640 storage mount\ub97c \uc77d\uc9c0 \ubabb\ud558\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/li>\n<li>\ud0a4\uc5d0 \uacf5\ubc31, <code>?<\/code>, <code>..<\/code>, \uc2ac\ub798\uc2dc, \uc720\ub2c8\ucf54\ub4dc, \uc81c\uc5b4 \ubb38\uc790\ub97c \ub123\ub294 contract test\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.<\/li>\n<li>Cloudflare\u00b7Vercel\u00b7S3\u00b7HTTP \uc2a4\ud1a0\ub9ac\uc9c0 \uc5b4\ub311\ud130\ubcc4 list prefix\uc640 cache key\uc758 \uc815\uaddc\ud654 \uaddc\uce59\uc744 \ube44\uad50\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\ud750\ub984 3: Rolldown\uacfc Vitest\ub294 \uc18d\ub3c4\ubcf4\ub2e4 \uc7ac\ud604 \uac00\ub2a5\ud55c \uac1c\ubc1c \ub8e8\ud504\ub97c \ubcf4\uc815\ud55c\ub2e4<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> Rolldown 1.2.14\ub294 10\uc6d4 14\uc77c \ubc30\ud3ec\ub418\uc5b4 consumer\ubcc4 \ub3c5\ub9bd ESM \uc7ac\ub0b4\ubcf4\ub0b4\uae30 \ucf54\ub4dc \ubd84\ud560\uc744 \ucd94\uac00\ud558\uace0, wrapped ESM \uc7ac\ub0b4\ubcf4\ub0b4\uae30 \ucd08\uae30\ud654 \ubcf4\uc874, strict execution order, source map \uacbd\uacc4, HMR \ub2e8\uacc4 \ud30c\uc77c \uac10\uc2dc\ub97c \uc218\uc815\ud588\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/rolldown\/rolldown\/releases\/tag\/v1.2.14\" target=\"_blank\" rel=\"noopener\">Rolldown 1.2.14 \ub9b4\ub9ac\uc988<\/a> Vitest 5.0.4\ub294 10\uc6d4 12\uc77c \ubc30\ud3ec\ub418\uc5b4 <code>--changed<\/code>\uc758 \uc601\ud5a5 \ud14c\uc2a4\ud2b8 \uc218 \ud45c\uc2dc, \uc758\uc874\uc131 \uce90\uc2dc \uc635\uc158, \uae30\ubcf8 <code>fsModuleCache<\/code>, \ube0c\ub77c\uc6b0\uc800 \uc6cc\ucee4\u00b7\ucee4\ubc84\ub9ac\uc9c0\u00b7\ubaa8\ud0b9 \uad00\ub828 \uc218\uc815\uc744 \ud3ec\ud568\ud588\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/vitest-dev\/vitest\/releases\/tag\/v5.0.4\" target=\"_blank\" rel=\"noopener\">Vitest 5.0.4 \ub9b4\ub9ac\uc988<\/a><\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> Nuxt\/Vite \ubaa8\ub178\ub808\ud3ec\uc5d0\uc11c \ubc88\ub4e4\ub7ec \ubcc0\uacbd\uc740 \ube4c\ub4dc \uc2dc\uac04\ub9cc\uc73c\ub85c \ud3c9\uac00\ud558\uba74 \ubd80\uc871\ud569\ub2c8\ub2e4. route-level dynamic import, barrel export, CJS \ud63c\uc6a9, \uc18c\uc2a4\ub9f5 \uc624\ub958 \ub9ac\ud3ec\ud2b8, HMR \ub4a4 \ud30c\uc77c \uac10\uc2dc, \ubcc0\uacbd \uae30\ubc18 \ud14c\uc2a4\ud2b8 \uc120\ud0dd\uc774 \uc2e4\uc81c \ubc30\ud3ec \uc2e0\ub8b0\uc131\uc5d0 \uc5f0\uacb0\ub429\ub2c8\ub2e4. Rolldown\uc744 \uc9c1\uc811 \uc4f0\uc9c0 \uc54a\ub354\ub77c\ub3c4 \uc774 \uacbd\ub85c\ub97c \ucc44\ud0dd\ud558\ub294 \ud300\uc740 production \uc0b0\ucd9c\ubb3c\uacfc dev server \ub3d9\uc791\uc744 \uacc4\uc18d \ube44\uad50\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h3>\uc801\uc6a9 \uccb4\ud06c<\/h3>\n<ul>\n<li>\ub3d9\uc801 import\uc640 \uc7ac\ub0b4\ubcf4\ub0b4\uae30\uac00 \uc788\ub294 Nuxt \ud398\uc774\uc9c0\ub97c production build\uc5d0\uc11c \uc5f4\uc5b4 \ucd08\uae30\ud654 \uc21c\uc11c\u00b7chunk preload\u00b7\uc18c\uc2a4\ub9f5\uc744 \uac80\uc0ac\ud569\ub2c8\ub2e4.<\/li>\n<li>HMR \uc911 \ud30c\uc77c \uc218\uc815 \ud6c4 build\ud558\ub294 \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c \uac10\uc2dc \ub204\ub77d\uc774 \uc5c6\ub294\uc9c0 \ub85c\uceec\uacfc CI\uc5d0\uc11c \uc810\uac80\ud569\ub2c8\ub2e4.<\/li>\n<li><code>vitest --changed<\/code> \ub300\uc0c1 \uc218\uc640 \uc2e4\uc81c \uc601\ud5a5 \ubc94\uc704\ub97c PR \ub85c\uadf8\uc5d0\uc11c \uac80\ud1a0\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\ud750\ub984 4: Unhead 3.4.3\uc740 SEO \ucd9c\ub825\uacfc \ucef4\ud3ec\ub10c\ud2b8 \uc218\uba85\uc8fc\uae30\ub97c \ud568\uaed8 \ubcf4\uc815\ud55c\ub2e4<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> Unhead 3.4.3\uc740 10\uc6d4 13\uc77c \ubc30\ud3ec\ub410\uc2b5\ub2c8\ub2e4. <code>false<\/code> \uac12\uc758 negative robots directive \ub80c\ub354\ub9c1, \ud574\uacb0\ub41c \uc774\ubbf8\uc9c0\uc5d0\uc11c <code>twitter:card<\/code> \ucd94\ub860, \uc22b\uc790 \ud15c\ud50c\ub9bf \ud30c\ub77c\ubbf8\ud130 \ubcf4\uc874, Vapor head entry \ubc0f script consumer\uc758 effect scope \uc885\ub8cc \uc2dc \uc815\ub9ac\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/unjs\/unhead\/releases\/tag\/v3.4.3\" target=\"_blank\" rel=\"noopener\">Unhead 3.4.3 \ub9b4\ub9ac\uc988<\/a><\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> Nuxt SEO\ub294 meta tag\ub97c \uc0dd\uc131\ud588\ub294\uac00\ub9cc\uc73c\ub85c \ub05d\ub098\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. robots \uc815\ucc45\uc758 \ucc38\/\uac70\uc9d3 \uac12, OG \uc774\ubbf8\uc9c0\uc640 Twitter \uce74\ub4dc\uc758 \uc77c\uad00\uc131, \ud398\uc774\uc9c0 \uc804\ud658 \ud6c4 head\/script \uc794\uc874 \uc5ec\ubd80\ub97c SSR HTML\uacfc \ud074\ub77c\uc774\uc5b8\ud2b8 \uc804\ud658 \uc591\ucabd\uc5d0\uc11c \ud655\uc778\ud574\uc57c \ud569\ub2c8\ub2e4. Vapor\ub294 \ubcc4\ub3c4 \uc2e4\ud5d8 \uacbd\ub85c\ub85c \uad00\ub9ac\ud558\ub418, \uc548\uc815 \uc2a4\ud0dd\uc5d0\uc11c\ub294 head \uc911\ubcf5\u00b7\uc794\uc874 \ud68c\uadc0 \ud14c\uc2a4\ud2b8\uac00 \uc6b0\uc120\uc785\ub2c8\ub2e4.<\/p>\n<h2>\ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\uc790 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<ul>\n<li><strong>\uc5c5\ub370\uc774\ud2b8:<\/strong> Vue 3.5.44, Nuxt DevTools 3.4.3, Unhead 3.4.3, Unstorage 1.17.6\uc744 lockfile diff\uac00 \uc791\uc740 \ubcc4\ub3c4 PR\ub85c \uac80\uc99d\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>SSR:<\/strong> async setup, lazy hydration, <code>display: contents<\/code>, \uc870\uac74\ubd80 \ub80c\ub354 fixture\ub97c E2E\uc5d0 \ub461\ub2c8\ub2e4.<\/li>\n<li><strong>\uac1c\ubc1c \ubcf4\uc548:<\/strong> \ud504\ub9ac\ubdf0 DevTools \ub178\ucd9c\uacfc \uc778\uc99d \uacbd\uacc4\ub97c \uac80\ud1a0\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\uc2a4\ud1a0\ub9ac\uc9c0:<\/strong> \uc0ac\uc6a9\uc790 \uc720\ub798 key\uc758 URL-safe \ucc98\ub9ac\uc640 \ube48 \uac12\u00b7dot segment\u00b7\uc81c\uc5b4 \ubb38\uc790 \uac70\ubd80\ub97c \ud14c\uc2a4\ud2b8\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\ube4c\ub4dc\/\ud14c\uc2a4\ud2b8:<\/strong> dynamic import\u00b7barrel export\u00b7HMR\u00b7<code>vitest --changed<\/code> smoke suite\ub97c CI\uc5d0 \uace0\uc815\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>SEO:<\/strong> robots, canonical, OG image, Twitter card\ub97c SSR HTML\uacfc route \uc804\ud658 \ud6c4 DOM\uc5d0\uc11c \ubaa8\ub450 \uac80\uc0ac\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\uc9e7\uc740 Q&amp;A<\/h2>\n<h3>Q. \uc9c0\uae08 Nuxt \ucf54\uc5b4\ub97c \uc62c\ub824\uc57c \ud558\ub098\uc694?<\/h3>\n<p>A. \uc774\ubc88 72\uc2dc\uac04\uc5d0\ub294 Nuxt \ucf54\uc5b4\uc758 \uc0c8 \uc815\uc2dd \ub9b4\ub9ac\uc988\ubcf4\ub2e4 \uc8fc\ubcc0 \ub7f0\ud0c0\uc784\u00b7\ub3c4\uad6c \ud328\ud0a4\uc9c0\uc758 \ub9b4\ub9ac\uc988\uac00 \uc911\uc2ec\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \ud604\uc7ac Nuxt \ubc84\uc804\uacfc peer dependency\ub97c \uae30\uc900\uc73c\ub85c Vue\u00b7Unhead\u00b7DevTools\u00b7Unstorage \uc601\ud5a5\ubd80\ud130 staging\uc5d0\uc11c \ud655\uc778\ud558\ub294 \uc21c\uc11c\uac00 \uc548\uc804\ud569\ub2c8\ub2e4.<\/p>\n<h3>Q. main \ube0c\ub79c\uce58\uc758 Vite\/Nitro \ucee4\ubc0b\uc744 \ubc30\ud3ec \uadfc\uac70\ub85c \uc0bc\uc544\ub3c4 \ub418\ub098\uc694?<\/h3>\n<p>A. \uc544\ub2d9\ub2c8\ub2e4. \uc774\ubc88 \uae30\uac04 Vite\uc640 Nitro main\uc5d0\ub294 HMR upgrade error, optimizer import scan, HTTP\/2 disconnect, \uc815\uc801 \uc751\ub2f5 accept-encoding \uad00\ub828 \uc218\uc815 \ucee4\ubc0b\uc774 \ud655\uc778\ub410\uc9c0\ub9cc <strong>\uc815\uc2dd \ub9b4\ub9ac\uc988\uac00 \uc544\ub2d9\ub2c8\ub2e4<\/strong>. \ud5a5\ud6c4 \ud328\uce58\uc758 \uad00\ucc30 \ub300\uc0c1\uc77c \ubfd0\uc774\uba70, \ubc30\ud3ec \ud310\ub2e8\uc740 \ub9b4\ub9ac\uc988 \ub178\ud2b8\uac00 \ub098\uc628 \ub4a4\uc5d0 \ud569\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/vitejs\/vite\/commit\/c2c9ef4dcd05b3e4d88844ea3a13dc23819ca2a5\" target=\"_blank\" rel=\"noopener\">Vite main \ucee4\ubc0b<\/a> \u00b7 <a href=\"https:\/\/github.com\/nitrojs\/nitro\/commit\/9350ff51a3201590cc7d7d6d9e90d69010ef868d\" target=\"_blank\" rel=\"noopener\">Nitro main \ucee4\ubc0b<\/a><\/p>\n<h2>\ucd9c\ucc98<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/vuejs\/core\/blob\/main\/CHANGELOG.md\" target=\"_blank\" rel=\"noopener\">Vue 3.5.44 CHANGELOG<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/devtools\/releases\/tag\/v3.4.3\" target=\"_blank\" rel=\"noopener\">Nuxt DevTools 3.4.3<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/unjs\/unstorage\/releases\/tag\/v1.17.6\" target=\"_blank\" rel=\"noopener\">Unstorage 1.17.6<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/rolldown\/rolldown\/releases\/tag\/v1.2.14\" target=\"_blank\" rel=\"noopener\">Rolldown 1.2.14<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vitest-dev\/vitest\/releases\/tag\/v5.0.4\" target=\"_blank\" rel=\"noopener\">Vitest 5.0.4<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/unjs\/unhead\/releases\/tag\/v3.4.3\" target=\"_blank\" rel=\"noopener\">Unhead 3.4.3<\/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 10\uc6d4 12\uc77c~15\uc77c(KST)\uc758 Nuxt \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\ub294 Vue 3.5 \uc548\uc815\ud654, Nuxt DevTools \uc811\uadfc \uc81c\uc5b4, Rolldown \ubc88\ub4e4 \uc815\ud655\uc131, Unstorage \ud0a4 \uac80\uc99d, Unhead SEO \ucd9c\ub825 \ubcf4\uc815\uc73c\ub85c \uc774\uc5b4\uc84c\uc2b5\ub2c8\ub2e4. \uc774\ubc88 3\uc77c \ub9ac\ud3ec\ud2b8\uc758 \ud575\uc2ec\uc740 \uc0c8 \uae30\ub2a5\uc744 \uc11c\ub458\ub7ec \ub3c4\uc785\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c SSR\u00b7\uac1c\ubc1c \uc11c\ubc84\u00b7\uc2a4\ud1a0\ub9ac\uc9c0\u00b7\uba54\ud0c0\ub370\uc774\ud130\uc758 \uacbd\uacc4\ub97c \ud68c\uadc0 \ud14c\uc2a4\ud2b8\ub85c \uace0\uc815\ud558\ub294 \uc77c\uc785\ub2c8\ub2e4. \ud575\uc2ec \ub2f5\ubcc0 Nuxt \ud300\uc740 Vue 3.5.44\ub97c staging\uc5d0\uc11c \uac80\uc99d\ud558\uace0, \ud504\ub9ac\ubdf0\u00b7\uac1c\ubc1c \ud658\uacbd\uc5d0\uc11c\ub294 DevTools server config\uc640 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":615,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-616","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\/616","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=616"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/616\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/615"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=616"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=616"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}