{"id":285,"date":"2026-07-22T00:03:09","date_gmt":"2026-07-22T00:03:09","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/285\/"},"modified":"2026-07-22T00:03:09","modified_gmt":"2026-07-22T00:03:09","slug":"nuxt-4-5-%ec%a0%84%ed%99%98%c2%b7ssr-streaming%c2%b7unhead-3-2-%ec%a0%90%ea%b2%80-nuxt-4-5-migration-ssr-streaming-and-unhead-3-2-checks","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/285\/","title":{"rendered":"Nuxt 4.5 \uc804\ud658\u00b7SSR streaming\u00b7Unhead 3.2 \uc810\uac80 | Nuxt 4.5 Migration, SSR Streaming and Unhead 3.2 Checks"},"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-report-1.png\" alt=\"Nuxt 4.5 \uc804\ud658\u00b7SSR streaming\u00b7Unhead 3.2 \uc810\uac80 | Nuxt 4.5 Migration, SSR Streaming and Unhead 3.2 Checks\" \/><\/figure>\n<p><strong>\uc694\uc57d:<\/strong> 2026\ub144 7\uc6d4 19\uc77c~22\uc77c Nuxt \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\uc758 \uc911\uc2ec \ubcc0\ud654\ub294 <strong>Nuxt 4.5\uc758 Vite 8\u00b7Unhead 3 \uc804\ud658<\/strong>\uacfc SSR \uc751\ub2f5 \uacbd\uacc4\uc758 \uc7ac\uc810\uac80\uc774\ub2e4. \uc774\ubc88 3\uc77c \ub9ac\ud3ec\ud2b8\ub294 \uc815\uc2dd \ub9b4\ub9ac\uc988\uc640 main \ube0c\ub79c\uce58\uc758 \ubbf8\ucd9c\uc2dc \uc791\uc5c5\uc744 \uad6c\ubd84\ud574, Nuxt\/Vue \uac1c\ubc1c\ud300\uc774 \uc2a4\ud14c\uc774\uc9d5\uc5d0\uc11c \ud655\uc778\ud560 \ube4c\ub4dc\u00b7SEO head\u00b7SSR \uc6b4\uc601 \ud56d\ubaa9\uc744 \uc815\ub9ac\ud55c\ub2e4.<\/p>\n<h2>3\uc77c \uacb0\ub860<\/h2>\n<p><strong>\ubc14\ub85c \uc801\uc6a9\ud560 \ub2f5:<\/strong> Nuxt 4.5\ub294 Vite 8, Rspack 2\/Rsbuild, Unhead 3\ub97c \ub04c\uc5b4\uc62c\ub9b0 \ud070 \uc804\ud658 \ub9b4\ub9ac\uc988\uc774\uba70, \ucf58\ud150\uce20 \uc911\uc2ec \uc11c\ube44\uc2a4\ub294 \uc2e4\ud5d8\uc801 SSR streaming\uc744 \uc81c\ud55c\uc801\uc73c\ub85c \uac80\uc99d\ud560 \uc2dc\uc810\uc774\ub2e4. \ub2e4\ub9cc Vite \ud50c\ub7ec\uadf8\uc778 \ud638\ud658\uc131, \uccab \ubc14\uc774\ud2b8 \uc774\ud6c4\uc758 \uc0c1\ud0dc\u00b7\ud5e4\ub354\u00b7\ucfe0\ud0a4 \ubcc0\uacbd, SSR head \ucd9c\ub825\uc740 \uc790\ub3d9\uc73c\ub85c \uc548\uc804\ud558\ub2e4\uace0 \uac00\uc815\ud558\uba74 \uc548 \ub41c\ub2e4. Nuxt 3 \uc0ac\uc6a9 \ud300\uc740 3.21.9\uc758 \uc548\uc815\ud654 \ud328\uce58\ub97c \uc801\uc6a9\ud558\uba74\uc11c 7\uc6d4 31\uc77c EOL \uc774\uc804 Nuxt 4 \uc804\ud658 \uacc4\ud68d\uc744 \ud655\uc815\ud558\ub294 \ud3b8\uc774 \ud569\ub9ac\uc801\uc774\ub2e4.<\/p>\n<ul>\n<li><strong>Q. \uc9c0\uae08 Nuxt 4.5\ub85c \uc804\uba74 \ubc30\ud3ec\ud574\ub3c4 \ub418\ub294\uac00?<\/strong> A. \ucee4\uc2a4\ud140 Vite \ud50c\ub7ec\uadf8\uc778\u00b7\ubaa8\ub4c8\u00b7server preset\uc774 \uc801\uc740 \uc11c\ube44\uc2a4\ubd80\ud130 \ubcc4\ub3c4 \uc2a4\ud14c\uc774\uc9d5\uc5d0\uc11c \uac80\uc99d\ud558\ub418, production \uc77c\uad04 \uc804\ud658\uc740 \ud638\ud658\uc131 \uacb0\uacfc \ub4a4\uc5d0 \uacb0\uc815\ud55c\ub2e4.<\/li>\n<li><strong>Q. SSR streaming\uc740 \uc5b4\ub514\uc11c \uc2dc\uc791\ud560\uae4c?<\/strong> A. \ub9ac\ub2e4\uc774\ub809\ud2b8\u00b7\ucfe0\ud0a4\u00b7\uc751\ub2f5 \uc0c1\ud0dc \ubcc0\uacbd\uc774 \uc801\uc740 \uacf5\uac1c \ucf58\ud150\uce20 \ub77c\uc6b0\ud2b8\ubd80\ud130 TTFB\/LCP\uc640 \uc624\ub958\uc728\uc744 \ube44\uad50\ud55c\ub2e4.<\/li>\n<\/ul>\n<h2>\ud575\uc2ec \ud750\ub984 1: Nuxt 4.5\uac00 Vite 8 \uae30\ubc18\uacfc \uc2e4\ud5d8\uc801 SSR streaming\uc744 \ubb36\uc5b4 \ubc30\ud3ec<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v4.5.0\" target=\"_blank\" rel=\"noopener\">Nuxt 4.5.0<\/a>\uc740 Vite 8, Unhead 3, unctx 3 \ubc0f tsdown \uae30\ubc18 \ub0b4\ubd80 \ube4c\ub4dc\ub85c \uc774\ub3d9\ud588\uace0, Rspack builder\uc5d0\ub294 Rspack 2\uc640 Rsbuild \uae30\ubc18\uc744 \ub3c4\uc785\ud588\ub2e4. \ub610 <code>experimental.ssrStreaming<\/code>\uc740 HTML shell\uc744 \uba3c\uc800 \uc804\uc1a1\ud558\uace0 Vue \ub80c\ub354\ub9c1\uc5d0 \ub9de\ucdb0 body\ub97c \uc2a4\ud2b8\ub9ac\ubc0d\ud558\ub294 \uc2e4\ud5d8 \uae30\ub2a5\uc774\ub2e4.<\/p>\n<p><strong>\uadfc\uac70\uc640 \uc81c\uc57d:<\/strong> \uacf5\uc2dd \ub9b4\ub9ac\uc988 \ub178\ud2b8\ub294 \uc2a4\ud2b8\ub9ac\ubc0d\uc774 \uccab \ubc14\uc774\ud2b8\uc5d0\uc11c HTTP \uc0c1\ud0dc\uc640 \ud5e4\ub354\ub97c \ud655\uc815\ud558\ubbc0\ub85c, \uc774\ud6c4\uc758 <code>setResponseStatus()<\/code>\u00b7\ucfe0\ud0a4 \uc4f0\uae30 \uac19\uc740 \uc751\ub2f5 \ubcc0\uc774\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0 \ub3c4\ub2ec\ud558\uc9c0 \uc54a\uc744 \uc218 \uc788\ub2e4\uace0 \uba85\uc2dc\ud55c\ub2e4. redirect, cache, ISR, SWR, <code>ssr: false<\/code> \uac19\uc740 route rule\uc5d0\ub294 \ubc84\ud37c \ub80c\ub354\ub7ec \ud3f4\ubc31\ub3c4 \uc801\uc6a9\ub41c\ub2e4. \uc790\uc138\ud55c \uc870\uac74\uc740 <a href=\"https:\/\/nuxt.com\/docs\/guide\/going-further\/experimental-features#ssrstreaming\" target=\"_blank\" rel=\"noopener\">Nuxt SSR streaming \ubb38\uc11c<\/a>\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> \uc774\ub294 \u2018\ubaa8\ub4e0 \ud398\uc774\uc9c0\ub97c \ub354 \ube60\ub974\uac8c\u2019 \ub9cc\ub4dc\ub294 \uc2a4\uc704\uce58\uac00 \uc544\ub2c8\ub77c, \uc751\ub2f5 \ubd80\uc791\uc6a9\uc774 \uc801\uace0 \ucd08\uae30 HTML \uc804\ub2ec\uc774 \uc911\uc694\ud55c \ub77c\uc6b0\ud2b8\ub97c \uc704\ud55c \uc810\uc9c4\uc801 \uc131\ub2a5 \uc2e4\ud5d8\uc774\ub2e4. Vite 8\uc740 major upgrade\uc774\ubbc0\ub85c <a href=\"https:\/\/vite.dev\/guide\/migration\" target=\"_blank\" rel=\"noopener\">Vite migration guide<\/a>\uc640 \ud568\uaed8 \ud50c\ub7ec\uadf8\uc778 peer dependency\u00b7alias\u00b7dev server \ub3d9\uc791\uc744 \uba3c\uc800 \uc810\uac80\ud574\uc57c \ud55c\ub2e4.<\/p>\n<h2>\ud575\uc2ec \ud750\ub984 2: Nuxt 3.21.9\ub294 CSS\u00b7payload\u00b7\ub77c\uc6b0\ud305 \uacbd\uacc4\uc758 \uc720\uc9c0\ubcf4\uc218 \ub9b4\ub9ac\uc988<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> \uac19\uc740 \uc2dc\uc810\uc758 <a href=\"https:\/\/github.com\/nuxt\/nuxt\/releases\/tag\/v3.21.9\" target=\"_blank\" rel=\"noopener\">Nuxt 3.21.9<\/a>\ub294 lazy component\uc758 inline CSS, <code>inlineStyles<\/code> \ube44\ud65c\uc131\ud654 \ub54c server page CSS \ucd94\ucd9c, nested Nitro layer transform, deferred query route \ubcf5\uc6d0, cached payload extraction \uad00\ub828 \uc548\uc815\ud654 \ud56d\ubaa9\uc744 \ud3ec\ud568\ud55c\ub2e4.<\/p>\n<p><strong>\uc2dc\uc0ac\uc810:<\/strong> \ud574\ub2f9 \ud56d\ubaa9\uc740 \ub300\ud615 \uae30\ub2a5\ubcf4\ub2e4 \ubc30\ud3ec \uc911 \ub4dc\ub7ec\ub098\ub294 CSS delivery\u00b7\ud398\uc774\uc9c0 \uc804\ud658\u00b7payload \uce90\uc2dc \uacbd\uacc4\uc5d0 \uac00\uae5d\ub2e4. Nuxt 3\uc740 \uacf5\uc2dd \ub9b4\ub9ac\uc988 \ub178\ud2b8 \uae30\uc900 2026\ub144 7\uc6d4 31\uc77c EOL \uc608\uc815\uc774\ubbc0\ub85c, \uc774\ubc88 \ud328\uce58\ub294 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \ubbf8\ub8e8\uae30 \uc704\ud55c \uadfc\uac70\uac00 \uc544\ub2c8\ub77c \uc548\uc815\ud654\ub41c \uae30\uc900\uc120\uc73c\ub85c \uc0bc\uc544 Nuxt 4 \uc804\ud658\uc744 \uc900\ube44\ud574\uc57c \ud55c\ub2e4.<\/p>\n<h2>\ud575\uc2ec \ud750\ub984 3: Unhead 3.2\ub294 SSR head\uc640 script lifecycle\uc758 \ud638\ud658\uc131\u00b7\uc131\ub2a5\uc744 \ubcf4\uc644<\/h2>\n<p><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> <a href=\"https:\/\/github.com\/unjs\/unhead\/releases\/tag\/v3.2.0\" target=\"_blank\" rel=\"noopener\">Unhead 3.2.0<\/a>\uc740 script async readiness\/consumer scope, opt-in trigger primitive, experimental <code>prepareTemplate<\/code>\ub97c \ucd94\uac00\ud588\ub2e4. \ub3d9\uc2dc\uc5d0 SSR \ucd08\uae30 tag \uc0ac\uc804 \uacc4\uc0b0, resolver allocation \uac10\uc18c, link tag\uc758 <code>rel + href<\/code> \uc911\ubcf5 \uc81c\uac70, Nuxt build\uc5d0\uc11c mixed Unhead major \ud5c8\uc6a9\uc744 \ud3ec\ud568\ud55c\ub2e4.<\/p>\n<p>\uc774\ud6c4 <a href=\"https:\/\/github.com\/unjs\/unhead\/releases\/tag\/v3.2.1\" target=\"_blank\" rel=\"noopener\">3.2.1<\/a>\uc740 bundler\uac00 <code>head.ssr<\/code> mutation target\uc744 \ubcf4\uc874\ud558\ub3c4\ub85d \uc218\uc815\ud588\uace0, <a href=\"https:\/\/github.com\/unjs\/unhead\/releases\/tag\/v2.1.16\" target=\"_blank\" rel=\"noopener\">2.1.16<\/a>\uc740 Vue v2 legacy plugin \ub178\ucd9c\uc744 \uc218\uc815\ud588\ub2e4. \ub530\ub77c\uc11c Nuxt 4.5 \uc804\ud658 \uc2dc canonical, robots, OG, JSON-LD, preload tag\ub97c \ube0c\ub77c\uc6b0\uc800 DOM\ub9cc\uc774 \uc544\ub2c8\ub77c \uc11c\ubc84\uac00 \ub9cc\ub4e0 HTML\ub85c \uc2a4\ub0c5\uc0f7 \ube44\uad50\ud558\ub294 \uac83\uc774 \uc548\uc804\ud558\ub2e4.<\/p>\n<h2>\ud575\uc2ec \ud750\ub984 4: Vite\u00b7Nitro main\uc758 \ubcc0\ud654\ub294 \uad00\ucc30 \ub300\uc0c1\uc774\uba70 \uc544\uc9c1 \ub9b4\ub9ac\uc988\uac00 \uc544\ub2c8\ub2e4<\/h2>\n<p><strong>\ubbf8\ucd9c\uc2dc(main) \uc0ac\uc2e4:<\/strong> Nuxt main\uc5d0\ub294 <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/d3a4e025e08745d8c9b77db27a92d3f28ce1fc7a\" target=\"_blank\" rel=\"noopener\">\uc2e4\ud5d8\uc801 <code>nitro\/vite<\/code> \uc9c0\uc6d0 \ucee4\ubc0b<\/a>, cached payload extraction\uc5d0\uc11c query parameter\ub97c \ubcf4\uc874\ud558\ub294 <a href=\"https:\/\/github.com\/nuxt\/nuxt\/commit\/ba42831bdd113f105b1fb3cc28a8a077f32af4df\" target=\"_blank\" rel=\"noopener\">\uc218\uc815<\/a>\uc774 \ubc18\uc601\ub410\ub2e4. Vite main\ub3c4 virtual module\uc744 native config compatibility \uac80\uc0ac\uc5d0\uc11c \uc81c\uc678\ud558\ub294 <a href=\"https:\/\/github.com\/vitejs\/vite\/commit\/2ced1fe4e4e480ed78cb7aa5c78319e57bfa7783\" target=\"_blank\" rel=\"noopener\">\uc218\uc815<\/a>\uacfc injected CSS URL rewrite \ubcc0\uacbd\uc744 \ud3ec\ud568\ud55c\ub2e4.<\/p>\n<p><strong>\ud574\uc11d:<\/strong> \uc774\ub294 \ube4c\ub4dc\u00b7\ub7f0\ud0c0\uc784 \uacb0\ud569\ubd80\uac00 \uacc4\uc18d \uc815\ub9ac\ub418\ub294 \uc2e0\ud638\uc774\uc9c0\ub9cc, \uc815\uc2dd \ubc84\uc804\uc774\ub098 \ubc30\ud3ec \uad8c\uace0\uac00 \uc544\ub2c8\ub2e4. \uc774 \ucee4\ubc0b\ub4e4\uc744 lockfile \uc5c5\ub370\uc774\ud2b8\ub098 production \uc124\uc815 \ubcc0\uacbd\uc758 \uadfc\uac70\ub85c \uc0ac\uc6a9\ud558\uc9c0 \ub9d0\uace0, \ub2e4\uc74c Nuxt\/Vite \ub9b4\ub9ac\uc988\uc758 \ud68c\uadc0 \ud14c\uc2a4\ud2b8 \ud6c4\ubcf4\ub85c\ub9cc \ub4f1\ub85d\ud55c\ub2e4.<\/p>\n<h2>\ud504\ub860\ud2b8\uc5d4\ub4dc \uac1c\ubc1c\uc790 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<h3>\ubc30\ud3ec \uc804<\/h3>\n<ul>\n<li>Nuxt 3 \uc571\uc740 3.21.9 \uc804\ud6c4\ub85c CSS, prerender, cached payload, deferred query navigation smoke test\ub97c \uc2e4\ud589\ud55c\ub2e4.<\/li>\n<li>Nuxt 4.5 \ud6c4\ubcf4 \ube0c\ub79c\uce58\uc5d0\uc11c Vite plugin, custom <code>vite.config<\/code>, alias, module, server preset, CI build\ub97c \ud568\uaed8 \uac80\uc99d\ud55c\ub2e4.<\/li>\n<li><code>useHead<\/code>\/<code>useSeoMeta<\/code> \uacb0\uacfc\ub97c SSR HTML \uae30\uc900\uc73c\ub85c \ucea1\ucc98\ud574 canonical\u00b7OG\u00b7JSON-LD\u00b7preload \uc911\ubcf5 \uc5ec\ubd80\ub97c \ube44\uad50\ud55c\ub2e4.<\/li>\n<\/ul>\n<h3>\uc131\ub2a5 \uc2e4\ud5d8<\/h3>\n<ul>\n<li>SSR streaming\uc740 public content route \ud55c\ub450 \uac1c\uc5d0\ub9cc opt-in\ud558\uace0, redirect\u00b7cookie\u00b7\uc0c1\ud0dc \ubcc0\uacbd\u00b7bot \ub80c\ub354\ub9c1\uc744 E2E\ub85c \ud655\uc778\ud55c\ub2e4.<\/li>\n<li>\ubc30\ud3ec \uc804\ud6c4 TTFB\/LCP\ubfd0 \uc544\ub2c8\ub77c 4xx\u00b75xx, hydration warning, SEO crawler HTML\uc744 \uac19\uc740 \uae30\uac04\uc5d0 \uad00\ucc30\ud55c\ub2e4.<\/li>\n<\/ul>\n<h2>\ud655\uc778\ub41c \uc0ac\uc2e4\uacfc \uc804\ub9dd\uc758 \uacbd\uacc4<\/h2>\n<p>Nuxt 4.5, Nuxt 3.21.9, Unhead 3.2.x\ub294 \uc774\ubbf8 \ubc30\ud3ec\ub41c \ub9b4\ub9ac\uc988\ub2e4. \ubc18\uba74 <code>nitro\/vite<\/code> \ubc0f \uc77c\ubd80 Vite \ubcc0\uacbd\uc740 main \ube0c\ub79c\uce58\uc758 \ubbf8\ucd9c\uc2dc \uc791\uc5c5\uc774\ub2e4. \uc774\ubc88 3\uc77c\uc758 \uc2e4\ubb34 \uacb0\ub860\uc740 \uc0c8 \uae30\ub2a5\uc744 \uc989\uc2dc \ud655\ub300\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c, Nuxt 4\/Vite 8\/Unhead 3 \uc870\ud569\uc744 \uc2a4\ud14c\uc774\uc9d5\uc5d0\uc11c \uc7ac\ud604 \uac00\ub2a5\ud558\uac8c \uac80\uc99d\ud558\uace0 SSR \uc751\ub2f5\u00b7head \ucd9c\ub825\uc758 \uacc4\uc57d\uc744 \ud14c\uc2a4\ud2b8 \uc790\uc0b0\uc73c\ub85c \uace0\uc815\ud558\ub294 \ub370 \uc788\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 19\uc77c~22\uc77c Nuxt \ud504\ub860\ud2b8\uc5d4\ub4dc \uc0dd\ud0dc\uacc4\uc758 \uc911\uc2ec \ubcc0\ud654\ub294 Nuxt 4.5\uc758 Vite 8\u00b7Unhead 3 \uc804\ud658\uacfc SSR \uc751\ub2f5 \uacbd\uacc4\uc758 \uc7ac\uc810\uac80\uc774\ub2e4. \uc774\ubc88 3\uc77c \ub9ac\ud3ec\ud2b8\ub294 \uc815\uc2dd \ub9b4\ub9ac\uc988\uc640 main \ube0c\ub79c\uce58\uc758 \ubbf8\ucd9c\uc2dc \uc791\uc5c5\uc744 \uad6c\ubd84\ud574, Nuxt\/Vue \uac1c\ubc1c\ud300\uc774 \uc2a4\ud14c\uc774\uc9d5\uc5d0\uc11c \ud655\uc778\ud560 \ube4c\ub4dc\u00b7SEO head\u00b7SSR \uc6b4\uc601 \ud56d\ubaa9\uc744 \uc815\ub9ac\ud55c\ub2e4. 3\uc77c \uacb0\ub860 \ubc14\ub85c \uc801\uc6a9\ud560 \ub2f5: Nuxt 4.5\ub294 Vite 8, Rspack 2\/Rsbuild, Unhead 3\ub97c \ub04c\uc5b4\uc62c\ub9b0 \ud070 \uc804\ud658 \ub9b4\ub9ac\uc988\uc774\uba70, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":284,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-285","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\/285","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=285"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/285\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/284"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}