{"id":450,"date":"2026-08-14T00:03:43","date_gmt":"2026-08-14T00:03:43","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/450\/"},"modified":"2026-08-14T00:03:43","modified_gmt":"2026-08-14T00:03:43","slug":"nuxt-%eb%a0%8c%eb%8d%94%eb%a7%81%c2%b7head%c2%b7rc-%ed%85%8c%ec%8a%a4%ed%8a%b8-%ea%b2%bd%ea%b3%84-nuxt-rendering-head-and-rc-test-boundaries","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/450\/","title":{"rendered":"Nuxt \ub80c\ub354\ub9c1\u00b7Head\u00b7RC \ud14c\uc2a4\ud2b8 \uacbd\uacc4 | Nuxt Rendering, Head, and RC Test Boundaries"},"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-12.png\" alt=\"Nuxt \ub80c\ub354\ub9c1\u00b7Head\u00b7RC \ud14c\uc2a4\ud2b8 \uacbd\uacc4 | Nuxt Rendering, Head, and RC Test Boundaries\" \/><\/figure>\n<p><strong>\uc694\uc57d:<\/strong> 2026\ub144 8\uc6d4 11\uc77c~14\uc77c\uc758 Nuxt\u00b7Vue\u00b7Vite \ud504\ub860\ud2b8\uc5d4\ub4dc \ud750\ub984\uc740 <strong>SSR\/Islands CSS \uc815\ud655\uc131<\/strong>, <strong>\uba54\ud0c0\ub370\uc774\ud130 \ub7f0\ud0c0\uc784 \uacbd\ub7c9\ud654<\/strong>, <strong>Vue\u00b7Vitest \ucc28\uae30 \ubc84\uc804\uc758 \ud638\ud658\uc131 \uc810\uac80<\/strong>\uc73c\ub85c \uc815\ub9ac\ub41c\ub2e4. \uc774\ubc88 3\uc77c \ub9ac\ud3ec\ud2b8\uc758 \ud575\uc2ec\uc740 \uc0c8 \uc548\uc815 \ubc84\uc804\ub9cc \uc887\uae30\ubcf4\ub2e4, \uc6b4\uc601 \uc911\uc778 Nuxt \uc571\uc758 \ub80c\ub354\ub9c1\u00b7\ud5e4\ub4dc\u00b7\ud14c\uc2a4\ud2b8 \uacbd\uacc4\ub97c \uce21\uc815 \uac00\ub2a5\ud55c \uccb4\ud06c\ub9ac\uc2a4\ud2b8\ub85c \ubc14\uafb8\ub294 \ub370 \uc788\ub2e4.<\/p>\n<h2>\ud575\uc2ec \ub2f5\ubcc0<\/h2>\n<p>\uc9c0\uae08 Nuxt \uac1c\ubc1c\ud300\uc774 \ud560 \uc77c\uc740 \ub300\uaddc\ubaa8 \uc5c5\uadf8\ub808\uc774\ub4dc\uac00 \uc544\ub2c8\ub2e4. \ubc30\ud3ec \uc804\uc5d0\ub294 Islands\u00b7\uc11c\ubc84 \ucef4\ud3ec\ub10c\ud2b8\uac00 \ud3ec\ud568\ub41c \ud398\uc774\uc9c0\uc5d0\uc11c CSS \ub9c1\ud06c\uc640 scoped style\uc774 \uc720\uc9c0\ub418\ub294\uc9c0 \ud655\uc778\ud558\uace0, Unhead 3.3.2\ub294 \uc791\uc740 \ubc88\ub4e4 \uc774\ub4dd\uacfc \uba54\ud0c0\ub370\uc774\ud130 \uc218\uc815\uc774 \ud544\uc694\ud55c \ud504\ub85c\uc81d\ud2b8\ubd80\ud130 \uac80\uc99d\ud55c\ub2e4. Vue 3.6.0-rc.3\uc640 Vitest 5.0.0-rc.1\uc740 \ubaa8\ub450 \uc0ac\uc804 \ub9b4\ub9ac\uc2a4\uc774\ubbc0\ub85c \ud504\ub85c\ub355\uc158 \uae30\ubcf8 \uc758\uc874\uc131\uc73c\ub85c \uc2b9\uaca9\ud558\uc9c0 \ub9d0\uace0 \ubcc4\ub3c4 CI \ub9e4\ud2b8\ub9ad\uc2a4\uc5d0\uc11c \ud638\ud658\uc131\uc744 \uc2dc\ud5d8\ud574\uc57c \ud55c\ub2e4.<\/p>\n<h2>3\uc77c \uacb0\ub860<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> Unhead 3.3.2\uac00 8\uc6d4 13\uc77c \uc815\uc2dd \ubc30\ud3ec\ub410\uace0, \ub7f0\ud0c0\uc784 minification\uc758 \uc120\ud615\uc131 \uc720\uc9c0 \ubc0f client\/server \uacf5\uc720 \ucf54\ub4dc \ucd95\uc18c\ub97c \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\uc5d0 \uba85\uc2dc\ud588\ub2e4. \ub3d9\uc2dc\uc5d0 Nuxt \uc800\uc7a5\uc18c\uc758 \ucd5c\uadfc \ubcc0\uacbd\uc740 CSS \ub9c1\ud06c \uc911\ubcf5\u00b7\ub204\ub77d, server component slot\uc758 scoped style, lazy hydration remount\ucc98\ub7fc \ub80c\ub354\ub9c1 \uacbd\uacc4\uc758 \uc815\ud655\uc131\uc744 \ub2e4\ub8ec\ub2e4. \ud6c4\uc790\ub294 \uc544\uc9c1 <strong>main \ube0c\ub79c\uce58 \ubcc0\uacbd<\/strong>\uc774\ubbc0\ub85c \ubc30\ud3ec \uac00\ub2a5\ud55c Nuxt \ub9b4\ub9ac\uc2a4\ub85c \ud45c\ud604\ud558\uba74 \uc548 \ub41c\ub2e4.<\/p>\n<p><strong>\ud574\uc11d:<\/strong> \ud504\ub808\uc784\uc6cc\ud06c \uc131\ub2a5\uc740 \ub2e8\uc77c \ube4c\ub4dc \uc18d\ub3c4 \uc218\uce58\ubcf4\ub2e4 \u2018\ud544\uc694\ud55c CSS\uc640 head \ud0dc\uadf8\uac00 \ud544\uc694\ud55c \ub80c\ub354\ub9c1 \uacbd\ub85c\uc5d0 \uc815\ud655\ud788 \ub0a8\ub294\uac00\u2019\ub85c \ud3c9\uac00\ud574\uc57c \ud55c\ub2e4. \ucc28\uae30 Vue\/Vitest\ub294 API\u00b7\ud14c\uc2a4\ud2b8 \uc124\uc815 \uacbd\uacc4\ub97c \ubc14\uafc0 \uc218 \uc788\uc73c\ubbc0\ub85c, \uc548\uc815 \ucc44\ub110\uacfc \uc2e4\ud5d8 \ucc44\ub110\uc744 CI\uc5d0\uc11c \ubd84\ub9ac\ud558\ub294 \uac83\uc774 \uac00\uc7a5 \ub0ae\uc740 \uc704\ud5d8\uc758 \ub300\uc751\uc774\ub2e4.<\/p>\n<h2>1. Nuxt main: Islands\u00b7SSR\uc5d0\uc11c CSS\uc640 scoped style\uc758 \uc815\ud655\uc131 \ubcf4\uac15<\/h2>\n<h3>\ubb34\uc5c7\uc774 \ud655\uc778\ub410\ub098<\/h3>\n<p>\ucd5c\uadfc 72\uc2dc\uac04\uc758 Nuxt main \ucee4\ubc0b\uc5d0\ub294 \ub80c\ub354\ub9c1\ub418\uc9c0 \uc54a\uc740 \ucef4\ud3ec\ub10c\ud2b8\uc758 CSS \ub9c1\ud06c\ub97c \uc720\uc9c0\ud558\ub294 \uc218\uc815, \uc644\uc804\ud788 inline\ub41c shared chunk\uc758 \uc911\ubcf5 CSS \ub9c1\ud06c \uc81c\uac70, server component slot\uc5d0 scoped style \uc801\uc6a9, \uac1c\ubc1c \ubaa8\ub4dc\uc5d0\uc11c \uc2e4\uc81c \ub80c\ub354\ub41c Island\uc5d0\ub9cc CSS\ub97c \ucd94\uac00\ud558\ub294 \uc218\uc815\uc774 \ud3ec\ud568\ub410\ub2e4. lazy hydration\uc5d0\uc11c \ube48 \ud654\uba74 \ub4a4 remount\uac00 \ubc1c\uc0dd\ud558\ub294 \uacbd\ub85c\uc640 trailing-slash\ub9cc \ub2e4\ub978 hydration route\ub97c \uc9c0\uc5f0\ud558\uc9c0 \uc54a\ub3c4\ub85d \ud558\ub294 \uc218\uc815\ub3c4 \ud568\uaed8 \uc62c\ub77c\uc654\ub2e4.<\/p>\n<p>\uc774\ub294 \uacf5\uc2dd GitHub \ucee4\ubc0b\uc73c\ub85c \ud655\uc778\ud55c <strong>\ubbf8\ucd9c\uc2dc \uac1c\ubc1c \uc791\uc5c5<\/strong>\uc774\ub2e4. \ub530\ub77c\uc11c \ud604\uc7ac Nuxt stable\uc5d0 \uc774\ubbf8 \ubc18\uc601\ub410\ub2e4\uace0 \uac00\uc815\ud558\uac70\ub098 \uc989\uc2dc \ubc84\uc804\uc744 \uc62c\ub9b4 \uadfc\uac70\ub294 \uc544\ub2c8\ub2e4. \ub2e4\ub9cc \ucf54\ub4dc\ub294 \uac19\uc740 \uc2e4\ud328 \ubc94\uc8fc\ub97c \ub4dc\ub7ec\ub0b8\ub2e4. SSR HTML, \ucd08\uae30 CSS, hydration \uc774\ud6c4 DOM\uc774 \uc11c\ub85c \uc5b4\uae0b\ub0a0 \ub54c \uc2a4\ud0c0\uc77c \ub204\ub77d\u00b7\uc911\ubcf5 \ub610\ub294 \uae5c\ube61\uc784\uc774 \ub098\ud0c0\ub0a0 \uc218 \uc788\ub2e4\ub294 \uc810\uc774\ub2e4.<\/p>\n<h3>\uc65c \uc911\uc694\ud55c\uac00<\/h3>\n<p>Nuxt Islands\uc640 lazy hydration\uc740 \ucd08\uae30 \uc804\uc1a1\ub7c9\uc744 \uc904\uc774\ub294 \uc218\ub2e8\uc774\uc9c0\ub9cc, \uc804\uc790\uc0c1\uac70\ub798\uc758 \uc0c1\ud488 \uce74\ub4dc\u00b7\ub9c8\ucf00\ud305 \ub79c\ub529\uc758 CTA\u00b7\uc5d0\ub514\ud130 \ubbf8\ub9ac\ubcf4\uae30\ucc98\ub7fc \uc77c\ubd80 \ucef4\ud3ec\ub10c\ud2b8\ub9cc \ub2a6\uac8c \ud65c\uc131\ud654\ub418\ub294 \ud654\uba74\uc5d0\uc11c\ub294 CSS \ubcf4\uc874 \uaddc\uce59\uc774 UX\uc640 \uc9c1\uc811 \uc5f0\uacb0\ub41c\ub2e4. \uac1c\ubc1c\uc790\ub294 \u2018CSS \ud30c\uc77c \uc218\uac00 \uc904\uc5c8\ub294\uac00\u2019\ubfd0 \uc544\ub2c8\ub77c \ud398\uc774\uc9c0\ubcc4 \ucd5c\ucd08 \ud398\uc778\ud2b8\uc640 \uc0c1\ud638\uc791\uc6a9 \ub4a4\uc758 \uc2a4\ud0c0\uc77c \uc77c\uad00\uc131\uc744 \ud568\uaed8 \ubcf4\uc544\uc57c \ud55c\ub2e4.<\/p>\n<ul>\n<li><strong>\ud655\uc778:<\/strong> main\uc758 CSS \ub9c1\ud06c \ubc0f scoped-style \uad00\ub828 \ubcc0\uacbd\uc740 \uc544\uc9c1 \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\uac00 \uc544\ub2cc \ucee4\ubc0b \ub2e8\uacc4\ub2e4.<\/li>\n<li><strong>\uadfc\uac70:<\/strong> Nuxt \ucee4\ubc0b <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/1792fe11d7646943eb99254100844597c1adf25f\" target=\"_blank\" rel=\"noopener\">CSS links for unrendered components<\/a>, <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/e673c552bf2e3bf3ff33245de699ea24ae8df6f2\" target=\"_blank\" rel=\"noopener\">scoped styles in server component slots<\/a>, <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/79ef035fe078f28633157c3746f85f0c8d015ba6\" target=\"_blank\" rel=\"noopener\">lazy hydration remount<\/a>.<\/li>\n<li><strong>\uc2dc\uc0ac\uc810:<\/strong> Island\u00b7server component\u00b7lazy hydration\uc774 \uc11e\uc778 \ub300\ud45c \ud398\uc774\uc9c0\ub97c \uc2dc\uac01 \ud68c\uadc0 \ud14c\uc2a4\ud2b8 \ub300\uc0c1\uc5d0 \ub123\uc5b4\uc57c \ud55c\ub2e4.<\/li>\n<\/ul>\n<h2>2. Unhead 3.3.2: head \ucc98\ub9ac\uc758 \uc791\uc740 \ube44\uc6a9\uacfc \uad6c\uc870\ud654 \ub370\uc774\ud130 \uacbd\uacc4<\/h2>\n<h3>\ubb34\uc5c7\uc774 \ucd9c\uc2dc\ub410\ub098<\/h3>\n<p><a href=\"https:\/\/github.com\/unjs\/unhead\/releases\/tag\/v3.3.2\" target=\"_blank\" rel=\"noopener\">Unhead 3.3.2<\/a>\ub294 8\uc6d4 13\uc77c \uc815\uc2dd \ub9b4\ub9ac\uc2a4\ub410\ub2e4. \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\ub294 runtime minification\uc744 \uc120\ud615\uc801\uc73c\ub85c \uc720\uc9c0\ud558\uace0, client\/server \ubc88\ub4e4 \ubc0f \uacf5\uc720 \ucf54\ub4dc\ub97c \uc904\uc774\uba70, \ud1a0\ud070\uc774 \uc5c6\uc744 \ub54c template parsing\uc744 \uac74\ub108\ub6f0\uace0 promise walk \ud560\ub2f9\uc744 \ubbf8\ub8e8\ub294 \uc131\ub2a5 \uc791\uc5c5\uc744 \uae30\ub85d\ud55c\ub2e4. devtools bridge\uc758 RPC \uc5f0\uacb0, origin-trial meta directive \ud0c0\uc785, schema.org identity\uc758 <code>about<\/code> \ub9c1\ud06c\ub97c \ud648\ud398\uc774\uc9c0\ub85c \uc81c\ud55c\ud558\ub294 \uc218\uc815\ub3c4 \ud3ec\ud568\ud55c\ub2e4.<\/p>\n<h3>\uc65c \uc911\uc694\ud55c\uac00<\/h3>\n<p>Nuxt \uc571\uc5d0\uc11c head\ub294 SEO\uc640 \ub80c\ub354\ub9c1 \ube44\uc6a9\uc744 \ub3d9\uc2dc\uc5d0 \uac00\uc9c4 \uacc4\uce35\uc774\ub2e4. \uc774\ubc88 \ud328\uce58\ub294 \u2018\uba54\ud0c0 \ud0dc\uadf8\uac00 \ub9ce\uc73c\uba74 \ud56d\uc0c1 \ub290\ub9ac\ub2e4\u2019\ub294 \uc77c\ubc18\ub860\ubcf4\ub2e4, \ubc18\ubcf5\uc801\uc778 head \uc0dd\uc131\u00b7\ubcd1\ud569\u00b7\uc9c1\ub82c\ud654\uac00 \ub9ce\uc740 \uc571\uc5d0\uc11c \uc2e4\uc81c bundle diff\uc640 route-level head \ucd9c\ub825\uc744 \ud655\uc778\ud558\ub77c\ub294 \uc2e4\ubb34 \uc2e0\ud638\ub2e4. schema.org \uad00\ub828 \uc218\uc815\uc740 \uad6c\uc870\ud654 \ub370\uc774\ud130\uc5d0\uc11c \uc5d4\ud130\ud2f0 \ub9c1\ud06c\uc758 \uc758\ubbf8\ub97c \uc810\uac80\ud560 \uacc4\uae30\ub3c4 \ub41c\ub2e4.<\/p>\n<ul>\n<li>\uc5c5\ub370\uc774\ud2b8 \ud6c4\ubcf4 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c lockfile \ubcc0\uacbd \ud6c4 client\/server bundle analyzer\uc640 \uc8fc\uc694 route\uc758 SSR HTML head\ub97c \uc804\ud6c4 \ube44\uad50\ud55c\ub2e4.<\/li>\n<li>canonical, robots, Open Graph, JSON-LD\ub97c \ud3ec\ud568\ud55c \ud15c\ud50c\ub9bf\uc5d0\uc11c \uc911\ubcf5 \ud0dc\uadf8\uc640 \uc798\ubabb\ub41c homepage identity \ub9c1\ud06c\uac00 \uc5c6\ub294\uc9c0 \uac80\ud1a0\ud55c\ub2e4.<\/li>\n<li>\uc131\ub2a5 \uac1c\uc120\uc740 \ud504\ub85c\uc81d\ud2b8\ubcc4 \uc124\uc815\uacfc \ucf58\ud150\uce20 \uc591\uc5d0 \ub530\ub77c \ub2e4\ub974\ubbc0\ub85c, \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\ub9cc\uc73c\ub85c \uac1c\uc120 \ud3ed\uc744 \uc218\uce58\ud654\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/li>\n<\/ul>\n<h2>3. Vue 3.6 RC\uc640 Vitest 5 RC: \uc0ac\uc804 \ub9b4\ub9ac\uc2a4\ub294 CI \uaca9\ub9ac\ubd80\ud130<\/h2>\n<h3>Vue 3.6.0-rc.3<\/h3>\n<p><a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.6.0-rc.3\" target=\"_blank\" rel=\"noopener\">Vue 3.6.0-rc.3<\/a>\ub294 8\uc6d4 11\uc77c \uacf5\uac1c\ub41c prerelease\ub2e4. \uacf5\uc2dd \ub9b4\ub9ac\uc2a4 \ud398\uc774\uc9c0\ub294 \uc548\uc815 \ubc84\uc804 \ubcc0\uacbd\uc740 main CHANGELOG, \uc0ac\uc804 \ub9b4\ub9ac\uc2a4 \ubcc0\uacbd\uc740 minor \ube0c\ub79c\uce58 CHANGELOG\ub97c \ubcf4\ub77c\uace0 \uc548\ub0b4\ud55c\ub2e4. \uac19\uc740 \uae30\uac04 Vue \uc11c\ubc84 \ub80c\ub354\ub7ec\uc5d0\ub294 attribute name\uc758 CR \ubb38\uc790\ub97c \uac70\ubd80\ud558\ub294 <a href=\"https:\/\/github.com\/vuejs\/core\/commit\/a2b40db9a83b36ed9da3a16403cf8f040262d73f\" target=\"_blank\" rel=\"noopener\">\ubc29\uc5b4\uc801 \uc218\uc815<\/a>\uc774 main\uc5d0 \uae30\ub85d\ub410\ub2e4. \ud6c4\uc790\ub294 \ub9b4\ub9ac\uc2a4 \uc5ec\ubd80\uc640 \ubcc4\uac1c\uc778 \uac1c\ubc1c \ubcc0\uacbd\uc774\ub2e4.<\/p>\n<h3>Vitest 5.0.0-rc.1<\/h3>\n<p><a href=\"https:\/\/github.com\/vitest-dev\/vitest\/releases\/tag\/v5.0.0-rc.1\" target=\"_blank\" rel=\"noopener\">Vitest 5.0.0-rc.1<\/a>\ub3c4 prerelease\ub2e4. \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\uc5d0\ub294 inline project\uac00 root config\ub97c \uae30\ubcf8 \ud655\uc7a5, nested project \uc9c0\uc6d0, await\ub418\uc9c0 \uc54a\uc740 \ube44\ub3d9\uae30 assertion \uc2e4\ud328 \ucc98\ub9ac, inline project \uac04 Vite server \uacf5\uc720 \ub4f1\uc774 \ud3ec\ud568\ub410\uace0, \ud14c\uc2a4\ud2b8 duration breakdown \ube44\uc728 \ubcf4\uace0 \uae30\ub2a5\ub3c4 \ucd94\uac00\ub410\ub2e4. \uc989 \ud14c\uc2a4\ud2b8 \ud658\uacbd\uc758 \uc124\uc815 \uc0c1\uc18d\uacfc \uc2e4\ud328 \ud310\uc815\uc774 \ub2ec\ub77c\uc9c8 \uc218 \uc788\ub2e4.<\/p>\n<p><strong>\uc2e4\ubb34 \ud310\ub2e8:<\/strong> \ub450 RC\ub294 \uc0c8 \ud504\ub85c\uc81d\ud2b8 \ub610\ub294 \ubcc4\ub3c4 \ube0c\ub79c\uce58\uc758 \ud638\ud658\uc131 \uc2e0\ud638\ub85c\ub294 \uc720\uc6a9\ud558\uc9c0\ub9cc, \uae30\uc874 Nuxt \uc11c\ube44\uc2a4\uc758 \uc7a0\uae08 \ud30c\uc77c\uc744 \ud55c \ubc88\uc5d0 \ubc14\uafb8\ub294 \uadfc\uac70\ub294 \uc544\ub2c8\ub2e4. stable job\uacfc <code>next<\/code>\/<code>rc<\/code> job\uc744 \ub098\ub204\uace0 \uc2e4\ud328 \ub85c\uadf8\u00b7\uc2a4\ub0c5\uc0f7\u00b7\ube4c\ub4dc \uc0b0\ucd9c\ubb3c\uc744 \ube44\uad50\ud558\ub294 \ubc29\uc2dd\uc774 \uc548\uc804\ud558\ub2e4.<\/p>\n<h2>4. Vite\/Rolldown \uac1c\ubc1c \ud750\ub984: \ub3c4\uad6c\uccb4\uc778 \uc804\ud658\uc740 \uad00\ucc30 \ub2e8\uacc4<\/h2>\n<p>Vite\uc758 \ucd5c\uadfc main \ubcc0\uacbd\uc740 <a href=\"https:\/\/github.com\/vitejs\/vite\/commit\/dcf88bd2ad2b1a8845f9029587cc8c825e382d42\" target=\"_blank\" rel=\"noopener\">$ \uc811\ub450 define key \ucc98\ub9ac<\/a>, Rolldown config\uc5d0\uc11c JSON import attributes \uc0ac\uc6a9, <code>cssTarget<\/code> \uc6b0\uc120\uc21c\uc704 \ubb38\uc11c\ud654, sourcemap ignore list\uc758 Rolldown \ucc38\uc870 \uac31\uc2e0 \ub4f1\uc744 \ud3ec\ud568\ud55c\ub2e4. \uc774\ub294 \ud604\uc7ac \ub9b4\ub9ac\uc2a4\uac00 \uc544\ub2c8\ub77c \uac1c\ubc1c \ube0c\ub79c\uce58\uc758 \ud750\ub984\uc774\ub2e4. \uc774\ubbf8 \ubc30\ud3ec\ub41c Vite 8.2.1\uc744 \ub300\uccb4\ud558\ub294 \ubc1c\ud45c\ub85c \uc77d\uc5b4\uc11c\ub294 \uc548 \ub41c\ub2e4.<\/p>\n<p>\uadf8\ub7fc\uc5d0\ub3c4 Nuxt \uac1c\ubc1c\uc790\uc5d0\uac8c \uc911\uc694\ud55c \uc774\uc720\ub294 build config\u00b7CSS target\u00b7\uc18c\uc2a4\ub9f5\uc774 \uc11c\ub85c \ubd84\ub9ac\ub41c \uc635\uc158\uc774 \uc544\ub2c8\uae30 \ub54c\ubb38\uc774\ub2e4. \ube0c\ub77c\uc6b0\uc800 \uc9c0\uc6d0 \ubc94\uc704\ub97c \ubc14\uafb8\uac70\ub098 bundler \uc2e4\ud5d8\uc744 \ucf24 \ub54c\uc5d0\ub294 \ud504\ub85c\ub355\uc158 sourcemap \ub178\ucd9c \uc815\ucc45, CSS \ubcc0\ud658 \uacb0\uacfc, define \uce58\ud658 \uacb0\uacfc\ub97c \uac19\uc740 PR\uc5d0\uc11c \uac80\uc99d\ud574\uc57c \ud55c\ub2e4.<\/p>\n<h2>\ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\uc790 3\uc77c \uc561\uc158 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<ul>\n<li><strong>\uc624\ub298:<\/strong> Island \ub610\ub294 lazy hydration\uc744 \uc4f0\ub294 3\uac1c \ud398\uc774\uc9c0\uc5d0\uc11c SSR \uc9c1\ud6c4, hydration \ub4a4, client navigation \ub4a4\uc758 CSS \ub204\ub77d\u00b7\uc911\ubcf5\u00b7\uae5c\ube61\uc784\uc744 \uc2a4\ud06c\ub9b0\uc0f7\uc73c\ub85c \ube44\uad50\ud55c\ub2e4.<\/li>\n<li><strong>\uc774\ubc88 \uc2a4\ud504\ub9b0\ud2b8:<\/strong> Unhead 3.3.2 \ud6c4\ubcf4 \ube0c\ub79c\uce58\uc5d0\uc11c head \ud0dc\uadf8 \uc2a4\ub0c5\uc0f7\uacfc bundle report\ub97c \ub9cc\ub4e0\ub2e4. canonical\u00b7OG\u00b7JSON-LD\uc758 \uc911\ubcf5\ub3c4 \ud568\uaed8 \uac80\uc0ac\ud55c\ub2e4.<\/li>\n<li><strong>CI:<\/strong> Vue 3.6 RC\uc640 Vitest 5 RC \uc804\uc6a9 \ub9e4\ud2b8\ub9ad\uc2a4\ub97c \ub9cc\ub4e4\uace0, stable \uacb0\uacfc\uc640 \ud14c\uc2a4\ud2b8 \uc218\u00b7\uc2e4\ud328\u00b7duration\u00b7\uc2a4\ub0c5\uc0f7 diff\ub97c \ube44\uad50\ud55c\ub2e4. prerelease\ub97c \uae30\ubcf8 \ubc30\ud3ec \uacbd\ub85c\uc5d0 \ub123\uc9c0 \uc54a\ub294\ub2e4.<\/li>\n<li><strong>\ube4c\ub4dc \uc124\uc815:<\/strong> Vite\/Rolldown \uc2e4\ud5d8 \uc124\uc815\uc744 \uc801\uc6a9\ud558\uae30 \uc804 <code>define<\/code>, <code>cssTarget<\/code>, sourcemap \uc815\ucc45\uc744 \uba85\uc2dc\ud558\uace0 production build \uc0b0\ucd9c\ubb3c\uc744 \ud655\uc778\ud55c\ub2e4.<\/li>\n<li><strong>\ub9b4\ub9ac\uc2a4 \uac10\uc2dc:<\/strong> Nuxt main \ucee4\ubc0b\uc740 \uacf5\uc2dd Nuxt \ub9b4\ub9ac\uc2a4\uc5d0 \ud3ec\ud568\ub410\ub294\uc9c0 \ud655\uc778\ud55c \ub4a4\uc5d0\ub9cc \uc5c5\uadf8\ub808\uc774\ub4dc \uc774\uc288\ub85c \uc804\ud658\ud55c\ub2e4.<\/li>\n<\/ul>\n<h2>\uc9e7\uc740 Q&amp;A<\/h2>\n<h3>\uc9c0\uae08 Nuxt\ub97c \uc5c5\uadf8\ub808\uc774\ub4dc\ud574\uc57c \ud558\ub098?<\/h3>\n<p>\uc774 72\uc2dc\uac04\uc5d0 \ud655\uc778\ub41c Nuxt \ubcc0\uacbd \ub2e4\uc218\ub294 main \ucee4\ubc0b\uc774\ub2e4. \ud574\ub2f9 \uc218\uc815\uc774 \uc548\uc815 \ub9b4\ub9ac\uc2a4\uc5d0 \ud3ec\ud568\ub410\ub2e4\ub294 \uacf5\uc2dd \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\uac00 \ub098\uc624\uae30 \uc804\uc5d0\ub294, \uc6b0\uc120 \uc7ac\ud604 \ud14c\uc2a4\ud2b8\uc640 \ub9b4\ub9ac\uc2a4 \uac10\uc2dc\uac00 \uc801\uc808\ud558\ub2e4.<\/p>\n<h3>Unhead 3.3.2\ub294 \uc801\uc6a9 \uac00\uce58\uac00 \uc788\ub098?<\/h3>\n<p>head\uac00 \ub9ce\uc740 Nuxt \uc571, \uad6c\uc870\ud654 \ub370\uc774\ud130\uc640 SSR\uc744 \ud65c\ubc1c\ud788 \uc4f0\ub294 \uc571\uc774\ub77c\uba74 \ud6c4\ubcf4 \ube0c\ub79c\uce58\uc5d0\uc11c \uac80\uc99d\ud560 \uac00\uce58\uac00 \uc788\ub2e4. \ub2e4\ub9cc \uc2e4\uc81c \uc131\ub2a5 \uc774\ub4dd\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 route\uc640 head \uad6c\uc131\uc5d0 \ub530\ub77c \uce21\uc815\ud574\uc57c \ud55c\ub2e4.<\/p>\n<h3>Vue 3.6 RC\uc640 Vitest 5 RC\ub97c \uc6b4\uc601 \ud658\uacbd\uc5d0 \ub123\uc5b4\ub3c4 \ub418\ub098?<\/h3>\n<p>\uc544\ub2c8\ub2e4. \ub458 \ub2e4 prerelease\ub2e4. CI\uc758 \uaca9\ub9ac\ub41c \ud638\ud658\uc131 \uc791\uc5c5\uc5d0\uc11c \uc124\uc815 \uc0c1\uc18d, \ube44\ub3d9\uae30 assertion, \uc2a4\ub0c5\uc0f7\uacfc SSR \ub3d9\uc791\uc744 \uba3c\uc800 \ud655\uc778\ud55c\ub2e4.<\/p>\n<h2>\uc8fc\uc694 \ucd9c\ucc98<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/unjs\/unhead\/releases\/tag\/v3.3.2\" target=\"_blank\" rel=\"noopener\">Unhead v3.3.2 \uacf5\uc2dd \ub9b4\ub9ac\uc2a4 \ub178\ud2b8<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vuejs\/core\/releases\/tag\/v3.6.0-rc.3\" target=\"_blank\" rel=\"noopener\">Vue v3.6.0-rc.3 \uacf5\uc2dd prerelease<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vitest-dev\/vitest\/releases\/tag\/v5.0.0-rc.1\" target=\"_blank\" rel=\"noopener\">Vitest v5.0.0-rc.1 \uacf5\uc2dd prerelease<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/nuxt\/nuxt\/commits\/main\/\" target=\"_blank\" rel=\"noopener\">Nuxt main \ucee4\ubc0b \uae30\ub85d<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vitejs\/vite\/commits\/main\/\" target=\"_blank\" rel=\"noopener\">Vite main \ucee4\ubc0b \uae30\ub85d<\/a><\/li>\n<\/ul>\n<p><small>\uad00\uce21 \uae30\uac04: 2026-08-11 09:00~2026-08-14 09:00 KST. \ub9b4\ub9ac\uc2a4\uc640 main\/RC \uc791\uc5c5\uc744 \uad6c\ubd84\ud574 \ud45c\uae30\ud588\uc73c\uba70, \ubcf8\ubb38\uc5d0\uc11c \u2018\ubbf8\ucd9c\uc2dc\u2019 \ub610\ub294 \u2018prerelease\u2019\ub85c \ud45c\uc2dc\ud55c \ud56d\ubaa9\uc740 \uc548\uc815 \ubc30\ud3ec\ud310\uc73c\ub85c \uac04\uc8fc\ud558\uc9c0 \uc54a\uc558\ub2e4.<\/small><\/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 8\uc6d4 11\uc77c~14\uc77c\uc758 Nuxt\u00b7Vue\u00b7Vite \ud504\ub860\ud2b8\uc5d4\ub4dc \ud750\ub984\uc740 SSR\/Islands CSS \uc815\ud655\uc131, \uba54\ud0c0\ub370\uc774\ud130 \ub7f0\ud0c0\uc784 \uacbd\ub7c9\ud654, Vue\u00b7Vitest \ucc28\uae30 \ubc84\uc804\uc758 \ud638\ud658\uc131 \uc810\uac80\uc73c\ub85c \uc815\ub9ac\ub41c\ub2e4. \uc774\ubc88 3\uc77c \ub9ac\ud3ec\ud2b8\uc758 \ud575\uc2ec\uc740 \uc0c8 \uc548\uc815 \ubc84\uc804\ub9cc \uc887\uae30\ubcf4\ub2e4, \uc6b4\uc601 \uc911\uc778 Nuxt \uc571\uc758 \ub80c\ub354\ub9c1\u00b7\ud5e4\ub4dc\u00b7\ud14c\uc2a4\ud2b8 \uacbd\uacc4\ub97c \uce21\uc815 \uac00\ub2a5\ud55c \uccb4\ud06c\ub9ac\uc2a4\ud2b8\ub85c \ubc14\uafb8\ub294 \ub370 \uc788\ub2e4. \ud575\uc2ec \ub2f5\ubcc0 \uc9c0\uae08 Nuxt \uac1c\ubc1c\ud300\uc774 \ud560 \uc77c\uc740 \ub300\uaddc\ubaa8 \uc5c5\uadf8\ub808\uc774\ub4dc\uac00 \uc544\ub2c8\ub2e4. \ubc30\ud3ec \uc804\uc5d0\ub294 Islands\u00b7\uc11c\ubc84 \ucef4\ud3ec\ub10c\ud2b8\uac00 \ud3ec\ud568\ub41c \ud398\uc774\uc9c0\uc5d0\uc11c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":449,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-450","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\/450","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=450"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/450\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/449"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}