[{"data":1,"prerenderedAt":5773},["ShallowReactive",2],{"navigation":3,"examples-nav":224,"-examples-vite-ssr-vue-router":353,"-examples-vite-ssr-vue-router-surround":5768},[4,83,208,214,221],{"title":5,"path":6,"stem":7,"children":8,"icon":82},"","/docs","1.docs/1.index",[9,12,17,22,27,32,37,42,47,52,57,62,67,72,77],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-compass",{"title":13,"path":14,"stem":15,"icon":16},"Quick Start","/docs/quick-start","1.docs/2.quick-start","i-lucide-zap",{"title":18,"path":19,"stem":20,"icon":21},"Renderer","/docs/renderer","1.docs/4.renderer","ri:layout-masonry-line",{"title":23,"path":24,"stem":25,"icon":26},"Routing","/docs/routing","1.docs/5.routing","ri:direction-line",{"title":28,"path":29,"stem":30,"icon":31},"Assets","/docs/assets","1.docs/50.assets","ri:image-2-line",{"title":33,"path":34,"stem":35,"icon":36},"Configuration","/docs/configuration","1.docs/50.configuration","ri:settings-3-line",{"title":38,"path":39,"stem":40,"icon":41},"Database","/docs/database","1.docs/50.database","ri:database-2-line",{"title":43,"path":44,"stem":45,"icon":46},"Lifecycle","/docs/lifecycle","1.docs/50.lifecycle","i-lucide-layers",{"title":48,"path":49,"stem":50,"icon":51},"Plugins","/docs/plugins","1.docs/50.plugins","ri:plug-line",{"title":53,"path":54,"stem":55,"icon":56},"Tasks","/docs/tasks","1.docs/50.tasks","codicon:run-all",{"title":58,"path":59,"stem":60,"icon":61},"Server Entry","/docs/server-entry","1.docs/6.server-entry","ri:server-line",{"title":63,"path":64,"stem":65,"icon":66},"Cache","/docs/cache","1.docs/7.cache","ri:speed-line",{"title":68,"path":69,"stem":70,"icon":71},"KV Storage","/docs/storage","1.docs/8.storage","carbon:datastore",{"title":73,"path":74,"stem":75,"icon":76},"Migration Guide","/docs/migration","1.docs/99.migration","ri:arrow-right-up-line",{"title":78,"path":79,"stem":80,"icon":81},"Nightly Channel","/docs/nightly","1.docs/99.nightly","ri:moon-fill","i-lucide-book-open",{"title":84,"path":85,"stem":86,"children":87,"icon":89},"Deploy","/deploy","2.deploy/0.index",[88,90,111],{"title":84,"path":85,"stem":86,"icon":89},"ri:upload-cloud-2-line",{"title":91,"path":92,"stem":93,"children":94,"page":110},"Runtimes","/deploy/runtimes","2.deploy/10.runtimes",[95,100,105],{"title":96,"path":97,"stem":98,"icon":99},"Node.js","/deploy/runtimes/node","2.deploy/10.runtimes/1.node","akar-icons:node-fill",{"title":101,"path":102,"stem":103,"icon":104},"Bun","/deploy/runtimes/bun","2.deploy/10.runtimes/bun","simple-icons:bun",{"title":106,"path":107,"stem":108,"icon":109},"Deno","/deploy/runtimes/deno","2.deploy/10.runtimes/deno","simple-icons:deno",false,{"title":112,"path":113,"stem":114,"children":115,"page":110},"Providers","/deploy/providers","2.deploy/20.providers",[116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204],{"title":117,"path":118,"stem":119},"Alwaysdata","/deploy/providers/alwaysdata","2.deploy/20.providers/alwaysdata",{"title":121,"path":122,"stem":123},"AWS Lambda","/deploy/providers/aws","2.deploy/20.providers/aws",{"title":125,"path":126,"stem":127},"AWS Amplify","/deploy/providers/aws-amplify","2.deploy/20.providers/aws-amplify",{"title":129,"path":130,"stem":131},"Azure","/deploy/providers/azure","2.deploy/20.providers/azure",{"title":133,"path":134,"stem":135},"Cleavr","/deploy/providers/cleavr","2.deploy/20.providers/cleavr",{"title":137,"path":138,"stem":139},"Cloudflare","/deploy/providers/cloudflare","2.deploy/20.providers/cloudflare",{"title":141,"path":142,"stem":143},"Deno Deploy","/deploy/providers/deno-deploy","2.deploy/20.providers/deno-deploy",{"title":145,"path":146,"stem":147},"DigitalOcean","/deploy/providers/digitalocean","2.deploy/20.providers/digitalocean",{"title":149,"path":150,"stem":151},"Firebase","/deploy/providers/firebase","2.deploy/20.providers/firebase",{"title":153,"path":154,"stem":155},"Flightcontrol","/deploy/providers/flightcontrol","2.deploy/20.providers/flightcontrol",{"title":157,"path":158,"stem":159},"Genezio","/deploy/providers/genezio","2.deploy/20.providers/genezio",{"title":161,"path":162,"stem":163},"GitHub Pages","/deploy/providers/github-pages","2.deploy/20.providers/github-pages",{"title":165,"path":166,"stem":167},"GitLab Pages","/deploy/providers/gitlab-pages","2.deploy/20.providers/gitlab-pages",{"title":169,"path":170,"stem":171},"Heroku","/deploy/providers/heroku","2.deploy/20.providers/heroku",{"title":173,"path":174,"stem":175},"IIS","/deploy/providers/iis","2.deploy/20.providers/iis",{"title":177,"path":178,"stem":179},"Koyeb","/deploy/providers/koyeb","2.deploy/20.providers/koyeb",{"title":181,"path":182,"stem":183},"Netlify","/deploy/providers/netlify","2.deploy/20.providers/netlify",{"title":185,"path":186,"stem":187},"Platform.sh","/deploy/providers/platform-sh","2.deploy/20.providers/platform-sh",{"title":189,"path":190,"stem":191},"Render.com","/deploy/providers/render","2.deploy/20.providers/render",{"title":193,"path":194,"stem":195},"StormKit","/deploy/providers/stormkit","2.deploy/20.providers/stormkit",{"title":197,"path":198,"stem":199},"Vercel","/deploy/providers/vercel","2.deploy/20.providers/vercel",{"title":201,"path":202,"stem":203},"Zeabur","/deploy/providers/zeabur","2.deploy/20.providers/zeabur",{"title":205,"path":206,"stem":207},"Zerops","/deploy/providers/zerops","2.deploy/20.providers/zerops",{"title":209,"path":210,"stem":211,"children":212,"icon":36},"Config","/config","3.config/0.index",[213],{"title":209,"path":210,"stem":211,"icon":36},{"title":215,"path":216,"stem":217,"children":218,"icon":220},"Examples","/examples","4.examples/0.index",[219],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-folder-code",{"title":5,"path":222,"stem":223},"/","index",[225,230,235,239,243,246,251,255,259,263,267,271,275,280,284,287,291,295,299,304,308,313,317,321,325,329,333,337,341,345,349],{"title":226,"description":227,"category":228,"path":229},"API Routes","File-based API routing with HTTP method support and dynamic parameters.","features","/examples/api-routes/readme",{"title":231,"description":232,"category":233,"path":234},"Auto Imports","Automatic imports for utilities and composables.","config","/examples/auto-imports/readme",{"title":236,"description":237,"category":228,"path":238},"Cached Handler","Cache route responses with configurable bypass logic.","/examples/cached-handler/readme",{"title":240,"description":241,"category":228,"path":242},"Custom Error Handler","Customize error responses with a global error handler.","/examples/custom-error-handler/readme",{"title":38,"description":244,"category":228,"path":245},"Built-in database support with SQL template literals.","/examples/database/readme",{"title":247,"description":248,"category":249,"path":250},"Elysia","Integrate Elysia with Nitro using the server entry.","backend frameworks","/examples/elysia/readme",{"title":252,"description":253,"category":249,"path":254},"Express","Integrate Express with Nitro using the server entry.","/examples/express/readme",{"title":256,"description":257,"category":249,"path":258},"Fastify","Integrate Fastify with Nitro using the server entry.","/examples/fastify/readme",{"title":260,"description":261,"category":228,"path":262},"Hello World","Minimal Nitro server using the web standard fetch handler.","/examples/hello-world/readme",{"title":264,"description":265,"category":249,"path":266},"Hono","Integrate Hono with Nitro using the server entry.","/examples/hono/readme",{"title":268,"description":269,"category":233,"path":270},"Import Alias","Custom import aliases for cleaner module paths.","/examples/import-alias/readme",{"title":272,"description":273,"category":228,"path":274},"Middleware","Request middleware for authentication, logging, and request modification.","/examples/middleware/readme",{"title":276,"description":277,"category":278,"path":279},"Mono JSX","Server-side JSX rendering in Nitro with mono-jsx.","server side rendering","/examples/mono-jsx/readme",{"title":281,"description":282,"category":278,"path":283},"Nano JSX","Server-side JSX rendering in Nitro with nano-jsx.","/examples/nano-jsx/readme",{"title":48,"description":285,"category":228,"path":286},"Extend Nitro with custom plugins for hooks and lifecycle events.","/examples/plugins/readme",{"title":288,"description":289,"category":278,"path":290},"Custom Renderer","Build a custom HTML renderer in Nitro with server-side data fetching.","/examples/renderer/readme",{"title":292,"description":293,"category":233,"path":294},"Runtime Config","Environment-aware configuration with runtime access.","/examples/runtime-config/readme",{"title":296,"description":297,"category":228,"path":298},"Server Fetch","Internal server-to-server requests without network overhead.","/examples/server-fetch/readme",{"title":300,"description":301,"category":302,"path":303},"Shiki","Server-side syntax highlighting in Nitro with Shiki.","integrations","/examples/shiki/readme",{"title":305,"description":306,"category":228,"path":307},"Virtual Routes","Define routes programmatically using Nitro's virtual module system.","/examples/virtual-routes/readme",{"title":309,"description":310,"category":311,"path":312},"Vite Nitro Plugin","Use Nitro as a Vite plugin for programmatic configuration.","vite","/examples/vite-nitro-plugin/readme",{"title":314,"description":315,"category":311,"path":316},"Vite RSC","React Server Components with Vite and Nitro.","/examples/vite-rsc/readme",{"title":318,"description":319,"category":278,"path":320},"Vite SSR HTML","Server-side rendering with vanilla HTML, Vite, and Nitro.","/examples/vite-ssr-html/readme",{"title":322,"description":323,"category":278,"path":324},"SSR with Preact","Server-side rendering with Preact in Nitro using Vite.","/examples/vite-ssr-preact/readme",{"title":326,"description":327,"category":278,"path":328},"SSR with React","Server-side rendering with React in Nitro using Vite.","/examples/vite-ssr-react/readme",{"title":330,"description":331,"category":278,"path":332},"SSR with SolidJS","Server-side rendering with SolidJS in Nitro using Vite.","/examples/vite-ssr-solid/readme",{"title":334,"description":335,"category":278,"path":336},"SSR with TanStack Router","Client-side routing with TanStack Router in Nitro using Vite.","/examples/vite-ssr-tsr-react/readme",{"title":338,"description":339,"category":278,"path":340},"SSR with TanStack Start","Full-stack React with TanStack Start in Nitro using Vite.","/examples/vite-ssr-tss-react/readme",{"title":342,"description":343,"category":278,"path":344},"SSR with Vue Router","Server-side rendering with Vue Router in Nitro using Vite.","/examples/vite-ssr-vue-router/readme",{"title":346,"description":347,"category":311,"path":348},"Vite + tRPC","End-to-end typesafe APIs with tRPC in Nitro using Vite.","/examples/vite-trpc/readme",{"title":350,"description":351,"category":228,"path":352},"WebSocket","Real-time bidirectional communication with WebSocket support.","/examples/websocket/readme",{"id":354,"title":342,"body":355,"category":278,"description":343,"extension":5761,"icon":5762,"meta":5763,"navigation":5764,"path":344,"seo":5765,"stem":5766,"__hash__":5767},"examples/examples/vite-ssr-vue-router/README.md",{"type":356,"value":357,"toc":5752},"minimark",[358,3852,3855,3860,3879,3883,3894,4135,4145,4149,4152,4460,4467,4471,4474,5080,5098,5102,5105,5239,5250,5254,5257,5719,5723,5749],[359,360,363,560,584,872,1436,1601,2326,2676,2746,3234,3336,3801],"code-tree",{":expand-all":361,"default-value":362,"expand-all":5},"true","app/entry-server.ts",[364,365,370],"pre",{"className":366,"code":367,"filename":368,"language":369,"meta":5,"style":5},"language-json shiki shiki-themes github-light github-dark github-dark","{\n  \"type\": \"module\",\n  \"scripts\": {\n    \"build\": \"vite build\",\n    \"dev\": \"vite dev\",\n    \"preview\": \"vite preview\"\n  },\n  \"devDependencies\": {\n    \"@vitejs/plugin-vue\": \"^6.0.4\",\n    \"nitro\": \"latest\",\n    \"unhead\": \"^2.1.3\",\n    \"vite\": \"beta\",\n    \"vite-plugin-devtools-json\": \"^1.0.0\",\n    \"vue\": \"^3.5.27\",\n    \"vue-router\": \"^4.6.4\"\n  }\n}\n","package.json","json",[371,372,373,382,399,408,421,434,445,451,459,472,485,498,511,524,537,548,554],"code",{"__ignoreMap":5},[374,375,378],"span",{"class":376,"line":377},"line",1,[374,379,381],{"class":380},"slsVL","{\n",[374,383,385,389,392,396],{"class":376,"line":384},2,[374,386,388],{"class":387},"suiK_","  \"type\"",[374,390,391],{"class":380},": ",[374,393,395],{"class":394},"sfrk1","\"module\"",[374,397,398],{"class":380},",\n",[374,400,402,405],{"class":376,"line":401},3,[374,403,404],{"class":387},"  \"scripts\"",[374,406,407],{"class":380},": {\n",[374,409,411,414,416,419],{"class":376,"line":410},4,[374,412,413],{"class":387},"    \"build\"",[374,415,391],{"class":380},[374,417,418],{"class":394},"\"vite build\"",[374,420,398],{"class":380},[374,422,424,427,429,432],{"class":376,"line":423},5,[374,425,426],{"class":387},"    \"dev\"",[374,428,391],{"class":380},[374,430,431],{"class":394},"\"vite dev\"",[374,433,398],{"class":380},[374,435,437,440,442],{"class":376,"line":436},6,[374,438,439],{"class":387},"    \"preview\"",[374,441,391],{"class":380},[374,443,444],{"class":394},"\"vite preview\"\n",[374,446,448],{"class":376,"line":447},7,[374,449,450],{"class":380},"  },\n",[374,452,454,457],{"class":376,"line":453},8,[374,455,456],{"class":387},"  \"devDependencies\"",[374,458,407],{"class":380},[374,460,462,465,467,470],{"class":376,"line":461},9,[374,463,464],{"class":387},"    \"@vitejs/plugin-vue\"",[374,466,391],{"class":380},[374,468,469],{"class":394},"\"^6.0.4\"",[374,471,398],{"class":380},[374,473,475,478,480,483],{"class":376,"line":474},10,[374,476,477],{"class":387},"    \"nitro\"",[374,479,391],{"class":380},[374,481,482],{"class":394},"\"latest\"",[374,484,398],{"class":380},[374,486,488,491,493,496],{"class":376,"line":487},11,[374,489,490],{"class":387},"    \"unhead\"",[374,492,391],{"class":380},[374,494,495],{"class":394},"\"^2.1.3\"",[374,497,398],{"class":380},[374,499,501,504,506,509],{"class":376,"line":500},12,[374,502,503],{"class":387},"    \"vite\"",[374,505,391],{"class":380},[374,507,508],{"class":394},"\"beta\"",[374,510,398],{"class":380},[374,512,514,517,519,522],{"class":376,"line":513},13,[374,515,516],{"class":387},"    \"vite-plugin-devtools-json\"",[374,518,391],{"class":380},[374,520,521],{"class":394},"\"^1.0.0\"",[374,523,398],{"class":380},[374,525,527,530,532,535],{"class":376,"line":526},14,[374,528,529],{"class":387},"    \"vue\"",[374,531,391],{"class":380},[374,533,534],{"class":394},"\"^3.5.27\"",[374,536,398],{"class":380},[374,538,540,543,545],{"class":376,"line":539},15,[374,541,542],{"class":387},"    \"vue-router\"",[374,544,391],{"class":380},[374,546,547],{"class":394},"\"^4.6.4\"\n",[374,549,551],{"class":376,"line":550},16,[374,552,553],{"class":380},"  }\n",[374,555,557],{"class":376,"line":556},17,[374,558,559],{"class":380},"}\n",[364,561,564],{"className":366,"code":562,"filename":563,"language":369,"meta":5,"style":5},"{\n  \"extends\": \"nitro/tsconfig\"\n}\n","tsconfig.json",[371,565,566,570,580],{"__ignoreMap":5},[374,567,568],{"class":376,"line":377},[374,569,381],{"class":380},[374,571,572,575,577],{"class":376,"line":384},[374,573,574],{"class":387},"  \"extends\"",[374,576,391],{"class":380},[374,578,579],{"class":394},"\"nitro/tsconfig\"\n",[374,581,582],{"class":376,"line":401},[374,583,559],{"class":380},[364,585,590],{"className":586,"code":587,"filename":588,"language":589,"meta":5,"style":5},"language-js shiki shiki-themes github-light github-dark github-dark","import vue from \"@vitejs/plugin-vue\";\nimport { defineConfig } from \"vite\";\nimport devtoolsJson from \"vite-plugin-devtools-json\";\nimport { nitro } from \"nitro/vite\";\n\nexport default defineConfig((_env) => ({\n  plugins: [patchVueExclude(vue(), /\\?assets/), devtoolsJson(), nitro()],\n}));\n\n// Workaround https://github.com/vitejs/vite-plugin-vue/issues/677\nfunction patchVueExclude(plugin, exclude) {\n  const original = plugin.transform.handler;\n  plugin.transform.handler = function (...args) {\n    if (exclude.test(args[1])) return;\n    return original.call(this, ...args);\n  };\n  return plugin;\n}\n","vite.config.mjs","js",[371,591,592,610,624,638,652,658,686,731,736,740,746,768,782,806,831,854,859,867],{"__ignoreMap":5},[374,593,594,598,601,604,607],{"class":376,"line":377},[374,595,597],{"class":596},"so5gQ","import",[374,599,600],{"class":380}," vue ",[374,602,603],{"class":596},"from",[374,605,606],{"class":394}," \"@vitejs/plugin-vue\"",[374,608,609],{"class":380},";\n",[374,611,612,614,617,619,622],{"class":376,"line":384},[374,613,597],{"class":596},[374,615,616],{"class":380}," { defineConfig } ",[374,618,603],{"class":596},[374,620,621],{"class":394}," \"vite\"",[374,623,609],{"class":380},[374,625,626,628,631,633,636],{"class":376,"line":401},[374,627,597],{"class":596},[374,629,630],{"class":380}," devtoolsJson ",[374,632,603],{"class":596},[374,634,635],{"class":394}," \"vite-plugin-devtools-json\"",[374,637,609],{"class":380},[374,639,640,642,645,647,650],{"class":376,"line":410},[374,641,597],{"class":596},[374,643,644],{"class":380}," { nitro } ",[374,646,603],{"class":596},[374,648,649],{"class":394}," \"nitro/vite\"",[374,651,609],{"class":380},[374,653,654],{"class":376,"line":423},[374,655,657],{"emptyLinePlaceholder":656},true,"\n",[374,659,660,663,666,670,673,677,680,683],{"class":376,"line":436},[374,661,662],{"class":596},"export",[374,664,665],{"class":596}," default",[374,667,669],{"class":668},"shcOC"," defineConfig",[374,671,672],{"class":380},"((",[374,674,676],{"class":675},"sQHwn","_env",[374,678,679],{"class":380},") ",[374,681,682],{"class":596},"=>",[374,684,685],{"class":380}," ({\n",[374,687,688,691,694,697,700,703,706,710,714,716,719,722,725,728],{"class":376,"line":447},[374,689,690],{"class":380},"  plugins: [",[374,692,693],{"class":668},"patchVueExclude",[374,695,696],{"class":380},"(",[374,698,699],{"class":668},"vue",[374,701,702],{"class":380},"(),",[374,704,705],{"class":394}," /",[374,707,709],{"class":708},"sAxt1","\\?",[374,711,713],{"class":712},"sQeJH","assets",[374,715,222],{"class":394},[374,717,718],{"class":380},"), ",[374,720,721],{"class":668},"devtoolsJson",[374,723,724],{"class":380},"(), ",[374,726,727],{"class":668},"nitro",[374,729,730],{"class":380},"()],\n",[374,732,733],{"class":376,"line":453},[374,734,735],{"class":380},"}));\n",[374,737,738],{"class":376,"line":461},[374,739,657],{"emptyLinePlaceholder":656},[374,741,742],{"class":376,"line":474},[374,743,745],{"class":744},"sCsY4","// Workaround https://github.com/vitejs/vite-plugin-vue/issues/677\n",[374,747,748,751,754,756,759,762,765],{"class":376,"line":487},[374,749,750],{"class":596},"function",[374,752,753],{"class":668}," patchVueExclude",[374,755,696],{"class":380},[374,757,758],{"class":675},"plugin",[374,760,761],{"class":380},", ",[374,763,764],{"class":675},"exclude",[374,766,767],{"class":380},") {\n",[374,769,770,773,776,779],{"class":376,"line":500},[374,771,772],{"class":596},"  const",[374,774,775],{"class":387}," original",[374,777,778],{"class":596}," =",[374,780,781],{"class":380}," plugin.transform.handler;\n",[374,783,784,787,790,792,795,798,801,804],{"class":376,"line":513},[374,785,786],{"class":380},"  plugin.transform.",[374,788,789],{"class":668},"handler",[374,791,778],{"class":596},[374,793,794],{"class":596}," function",[374,796,797],{"class":380}," (",[374,799,800],{"class":596},"...",[374,802,803],{"class":675},"args",[374,805,767],{"class":380},[374,807,808,811,814,817,820,823,826,829],{"class":376,"line":526},[374,809,810],{"class":596},"    if",[374,812,813],{"class":380}," (exclude.",[374,815,816],{"class":668},"test",[374,818,819],{"class":380},"(args[",[374,821,822],{"class":387},"1",[374,824,825],{"class":380},"])) ",[374,827,828],{"class":596},"return",[374,830,609],{"class":380},[374,832,833,836,839,842,844,847,849,851],{"class":376,"line":539},[374,834,835],{"class":596},"    return",[374,837,838],{"class":380}," original.",[374,840,841],{"class":668},"call",[374,843,696],{"class":380},[374,845,846],{"class":387},"this",[374,848,761],{"class":380},[374,850,800],{"class":596},[374,852,853],{"class":380},"args);\n",[374,855,856],{"class":376,"line":550},[374,857,858],{"class":380},"  };\n",[374,860,861,864],{"class":376,"line":556},[374,862,863],{"class":596},"  return",[374,865,866],{"class":380}," plugin;\n",[374,868,870],{"class":376,"line":869},18,[374,871,559],{"class":380},[364,873,877],{"className":874,"code":875,"filename":876,"language":699,"meta":5,"style":5},"language-vue shiki shiki-themes github-light github-dark github-dark","\u003Cscript setup lang=\"ts\">\nimport { RouterLink, RouterView } from \"vue-router\";\nimport \"./styles.css\";\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cnav>\n    \u003Cul>\n      \u003Cli>\n        \u003CRouterLink to=\"/\" exact-active-class=\"active\">Home\u003C/RouterLink>\n      \u003C/li>\n      \u003Cli>\n        \u003CRouterLink to=\"/about\" active-class=\"active\">About\u003C/RouterLink>\n      \u003C/li>\n    \u003C/ul>\n  \u003C/nav>\n  \u003CRouterView />\n\u003C/template>\n\n\u003Cstyle scoped>\nnav {\n  background: white;\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n  padding: 1rem;\n}\n\nnav ul {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  display: flex;\n  gap: 2rem;\n  max-width: 800px;\n  margin: 0 auto;\n}\n\nnav a {\n  color: #666;\n  text-decoration: none;\n}\n\nnav a:hover {\n  color: #333;\n}\n\nnav a.active {\n  color: #646cff;\n}\n\u003C/style>\n","app/app.vue",[371,878,879,903,917,926,935,939,948,958,968,978,1009,1018,1026,1053,1061,1070,1079,1089,1097,1102,1115,1123,1136,1181,1196,1201,1206,1216,1229,1241,1252,1265,1280,1295,1309,1314,1319,1329,1342,1354,1359,1364,1376,1388,1393,1398,1410,1422,1427],{"__ignoreMap":5},[374,880,881,884,888,891,894,897,900],{"class":376,"line":377},[374,882,883],{"class":380},"\u003C",[374,885,887],{"class":886},"sByVh","script",[374,889,890],{"class":668}," setup",[374,892,893],{"class":668}," lang",[374,895,896],{"class":380},"=",[374,898,899],{"class":394},"\"ts\"",[374,901,902],{"class":380},">\n",[374,904,905,907,910,912,915],{"class":376,"line":384},[374,906,597],{"class":596},[374,908,909],{"class":380}," { RouterLink, RouterView } ",[374,911,603],{"class":596},[374,913,914],{"class":394}," \"vue-router\"",[374,916,609],{"class":380},[374,918,919,921,924],{"class":376,"line":401},[374,920,597],{"class":596},[374,922,923],{"class":394}," \"./styles.css\"",[374,925,609],{"class":380},[374,927,928,931,933],{"class":376,"line":410},[374,929,930],{"class":380},"\u003C/",[374,932,887],{"class":886},[374,934,902],{"class":380},[374,936,937],{"class":376,"line":423},[374,938,657],{"emptyLinePlaceholder":656},[374,940,941,943,946],{"class":376,"line":436},[374,942,883],{"class":380},[374,944,945],{"class":886},"template",[374,947,902],{"class":380},[374,949,950,953,956],{"class":376,"line":447},[374,951,952],{"class":380},"  \u003C",[374,954,955],{"class":886},"nav",[374,957,902],{"class":380},[374,959,960,963,966],{"class":376,"line":453},[374,961,962],{"class":380},"    \u003C",[374,964,965],{"class":886},"ul",[374,967,902],{"class":380},[374,969,970,973,976],{"class":376,"line":461},[374,971,972],{"class":380},"      \u003C",[374,974,975],{"class":886},"li",[374,977,902],{"class":380},[374,979,980,983,986,989,991,994,997,999,1002,1005,1007],{"class":376,"line":474},[374,981,982],{"class":380},"        \u003C",[374,984,985],{"class":886},"RouterLink",[374,987,988],{"class":668}," to",[374,990,896],{"class":380},[374,992,993],{"class":394},"\"/\"",[374,995,996],{"class":668}," exact-active-class",[374,998,896],{"class":380},[374,1000,1001],{"class":394},"\"active\"",[374,1003,1004],{"class":380},">Home\u003C/",[374,1006,985],{"class":886},[374,1008,902],{"class":380},[374,1010,1011,1014,1016],{"class":376,"line":487},[374,1012,1013],{"class":380},"      \u003C/",[374,1015,975],{"class":886},[374,1017,902],{"class":380},[374,1019,1020,1022,1024],{"class":376,"line":500},[374,1021,972],{"class":380},[374,1023,975],{"class":886},[374,1025,902],{"class":380},[374,1027,1028,1030,1032,1034,1036,1039,1042,1044,1046,1049,1051],{"class":376,"line":513},[374,1029,982],{"class":380},[374,1031,985],{"class":886},[374,1033,988],{"class":668},[374,1035,896],{"class":380},[374,1037,1038],{"class":394},"\"/about\"",[374,1040,1041],{"class":668}," active-class",[374,1043,896],{"class":380},[374,1045,1001],{"class":394},[374,1047,1048],{"class":380},">About\u003C/",[374,1050,985],{"class":886},[374,1052,902],{"class":380},[374,1054,1055,1057,1059],{"class":376,"line":526},[374,1056,1013],{"class":380},[374,1058,975],{"class":886},[374,1060,902],{"class":380},[374,1062,1063,1066,1068],{"class":376,"line":539},[374,1064,1065],{"class":380},"    \u003C/",[374,1067,965],{"class":886},[374,1069,902],{"class":380},[374,1071,1072,1075,1077],{"class":376,"line":550},[374,1073,1074],{"class":380},"  \u003C/",[374,1076,955],{"class":886},[374,1078,902],{"class":380},[374,1080,1081,1083,1086],{"class":376,"line":556},[374,1082,952],{"class":380},[374,1084,1085],{"class":886},"RouterView",[374,1087,1088],{"class":380}," />\n",[374,1090,1091,1093,1095],{"class":376,"line":869},[374,1092,930],{"class":380},[374,1094,945],{"class":886},[374,1096,902],{"class":380},[374,1098,1100],{"class":376,"line":1099},19,[374,1101,657],{"emptyLinePlaceholder":656},[374,1103,1105,1107,1110,1113],{"class":376,"line":1104},20,[374,1106,883],{"class":380},[374,1108,1109],{"class":886},"style",[374,1111,1112],{"class":668}," scoped",[374,1114,902],{"class":380},[374,1116,1118,1120],{"class":376,"line":1117},21,[374,1119,955],{"class":886},[374,1121,1122],{"class":380}," {\n",[374,1124,1126,1129,1131,1134],{"class":376,"line":1125},22,[374,1127,1128],{"class":387},"  background",[374,1130,391],{"class":380},[374,1132,1133],{"class":387},"white",[374,1135,609],{"class":380},[374,1137,1139,1142,1144,1147,1150,1153,1156,1158,1161,1163,1165,1167,1169,1171,1173,1175,1178],{"class":376,"line":1138},23,[374,1140,1141],{"class":387},"  box-shadow",[374,1143,391],{"class":380},[374,1145,1146],{"class":387},"0",[374,1148,1149],{"class":387}," 1",[374,1151,1152],{"class":596},"px",[374,1154,1155],{"class":387}," 3",[374,1157,1152],{"class":596},[374,1159,1160],{"class":387}," rgba",[374,1162,696],{"class":380},[374,1164,1146],{"class":387},[374,1166,761],{"class":380},[374,1168,1146],{"class":387},[374,1170,761],{"class":380},[374,1172,1146],{"class":387},[374,1174,761],{"class":380},[374,1176,1177],{"class":387},"0.1",[374,1179,1180],{"class":380},");\n",[374,1182,1184,1187,1189,1191,1194],{"class":376,"line":1183},24,[374,1185,1186],{"class":387},"  padding",[374,1188,391],{"class":380},[374,1190,822],{"class":387},[374,1192,1193],{"class":596},"rem",[374,1195,609],{"class":380},[374,1197,1199],{"class":376,"line":1198},25,[374,1200,559],{"class":380},[374,1202,1204],{"class":376,"line":1203},26,[374,1205,657],{"emptyLinePlaceholder":656},[374,1207,1209,1211,1214],{"class":376,"line":1208},27,[374,1210,955],{"class":886},[374,1212,1213],{"class":886}," ul",[374,1215,1122],{"class":380},[374,1217,1219,1222,1224,1227],{"class":376,"line":1218},28,[374,1220,1221],{"class":387},"  list-style",[374,1223,391],{"class":380},[374,1225,1226],{"class":387},"none",[374,1228,609],{"class":380},[374,1230,1232,1235,1237,1239],{"class":376,"line":1231},29,[374,1233,1234],{"class":387},"  margin",[374,1236,391],{"class":380},[374,1238,1146],{"class":387},[374,1240,609],{"class":380},[374,1242,1244,1246,1248,1250],{"class":376,"line":1243},30,[374,1245,1186],{"class":387},[374,1247,391],{"class":380},[374,1249,1146],{"class":387},[374,1251,609],{"class":380},[374,1253,1255,1258,1260,1263],{"class":376,"line":1254},31,[374,1256,1257],{"class":387},"  display",[374,1259,391],{"class":380},[374,1261,1262],{"class":387},"flex",[374,1264,609],{"class":380},[374,1266,1268,1271,1273,1276,1278],{"class":376,"line":1267},32,[374,1269,1270],{"class":387},"  gap",[374,1272,391],{"class":380},[374,1274,1275],{"class":387},"2",[374,1277,1193],{"class":596},[374,1279,609],{"class":380},[374,1281,1283,1286,1288,1291,1293],{"class":376,"line":1282},33,[374,1284,1285],{"class":387},"  max-width",[374,1287,391],{"class":380},[374,1289,1290],{"class":387},"800",[374,1292,1152],{"class":596},[374,1294,609],{"class":380},[374,1296,1298,1300,1302,1304,1307],{"class":376,"line":1297},34,[374,1299,1234],{"class":387},[374,1301,391],{"class":380},[374,1303,1146],{"class":387},[374,1305,1306],{"class":387}," auto",[374,1308,609],{"class":380},[374,1310,1312],{"class":376,"line":1311},35,[374,1313,559],{"class":380},[374,1315,1317],{"class":376,"line":1316},36,[374,1318,657],{"emptyLinePlaceholder":656},[374,1320,1322,1324,1327],{"class":376,"line":1321},37,[374,1323,955],{"class":886},[374,1325,1326],{"class":886}," a",[374,1328,1122],{"class":380},[374,1330,1332,1335,1337,1340],{"class":376,"line":1331},38,[374,1333,1334],{"class":387},"  color",[374,1336,391],{"class":380},[374,1338,1339],{"class":387},"#666",[374,1341,609],{"class":380},[374,1343,1345,1348,1350,1352],{"class":376,"line":1344},39,[374,1346,1347],{"class":387},"  text-decoration",[374,1349,391],{"class":380},[374,1351,1226],{"class":387},[374,1353,609],{"class":380},[374,1355,1357],{"class":376,"line":1356},40,[374,1358,559],{"class":380},[374,1360,1362],{"class":376,"line":1361},41,[374,1363,657],{"emptyLinePlaceholder":656},[374,1365,1367,1369,1371,1374],{"class":376,"line":1366},42,[374,1368,955],{"class":886},[374,1370,1326],{"class":886},[374,1372,1373],{"class":668},":hover",[374,1375,1122],{"class":380},[374,1377,1379,1381,1383,1386],{"class":376,"line":1378},43,[374,1380,1334],{"class":387},[374,1382,391],{"class":380},[374,1384,1385],{"class":387},"#333",[374,1387,609],{"class":380},[374,1389,1391],{"class":376,"line":1390},44,[374,1392,559],{"class":380},[374,1394,1396],{"class":376,"line":1395},45,[374,1397,657],{"emptyLinePlaceholder":656},[374,1399,1401,1403,1405,1408],{"class":376,"line":1400},46,[374,1402,955],{"class":886},[374,1404,1326],{"class":886},[374,1406,1407],{"class":668},".active",[374,1409,1122],{"class":380},[374,1411,1413,1415,1417,1420],{"class":376,"line":1412},47,[374,1414,1334],{"class":387},[374,1416,391],{"class":380},[374,1418,1419],{"class":387},"#646cff",[374,1421,609],{"class":380},[374,1423,1425],{"class":376,"line":1424},48,[374,1426,559],{"class":380},[374,1428,1430,1432,1434],{"class":376,"line":1429},49,[374,1431,930],{"class":380},[374,1433,1109],{"class":886},[374,1435,902],{"class":380},[364,1437,1442],{"className":1438,"code":1439,"filename":1440,"language":1441,"meta":5,"style":5},"language-ts shiki shiki-themes github-light github-dark github-dark","import { createSSRApp } from \"vue\";\nimport { RouterView, createRouter, createWebHistory } from \"vue-router\";\nimport { routes } from \"./routes.ts\";\n\nasync function main() {\n  const app = createSSRApp(RouterView);\n  const router = createRouter({ history: createWebHistory(), routes });\n  app.use(router);\n\n  await router.isReady();\n  app.mount(\"#root\");\n}\n\n// eslint-disable-next-line unicorn/prefer-top-level-await\nmain();\n","app/entry-client.ts","ts",[371,1443,1444,1458,1471,1485,1489,1502,1517,1538,1549,1553,1567,1581,1585,1589,1594],{"__ignoreMap":5},[374,1445,1446,1448,1451,1453,1456],{"class":376,"line":377},[374,1447,597],{"class":596},[374,1449,1450],{"class":380}," { createSSRApp } ",[374,1452,603],{"class":596},[374,1454,1455],{"class":394}," \"vue\"",[374,1457,609],{"class":380},[374,1459,1460,1462,1465,1467,1469],{"class":376,"line":384},[374,1461,597],{"class":596},[374,1463,1464],{"class":380}," { RouterView, createRouter, createWebHistory } ",[374,1466,603],{"class":596},[374,1468,914],{"class":394},[374,1470,609],{"class":380},[374,1472,1473,1475,1478,1480,1483],{"class":376,"line":401},[374,1474,597],{"class":596},[374,1476,1477],{"class":380}," { routes } ",[374,1479,603],{"class":596},[374,1481,1482],{"class":394}," \"./routes.ts\"",[374,1484,609],{"class":380},[374,1486,1487],{"class":376,"line":410},[374,1488,657],{"emptyLinePlaceholder":656},[374,1490,1491,1494,1496,1499],{"class":376,"line":423},[374,1492,1493],{"class":596},"async",[374,1495,794],{"class":596},[374,1497,1498],{"class":668}," main",[374,1500,1501],{"class":380},"() {\n",[374,1503,1504,1506,1509,1511,1514],{"class":376,"line":436},[374,1505,772],{"class":596},[374,1507,1508],{"class":387}," app",[374,1510,778],{"class":596},[374,1512,1513],{"class":668}," createSSRApp",[374,1515,1516],{"class":380},"(RouterView);\n",[374,1518,1519,1521,1524,1526,1529,1532,1535],{"class":376,"line":447},[374,1520,772],{"class":596},[374,1522,1523],{"class":387}," router",[374,1525,778],{"class":596},[374,1527,1528],{"class":668}," createRouter",[374,1530,1531],{"class":380},"({ history: ",[374,1533,1534],{"class":668},"createWebHistory",[374,1536,1537],{"class":380},"(), routes });\n",[374,1539,1540,1543,1546],{"class":376,"line":453},[374,1541,1542],{"class":380},"  app.",[374,1544,1545],{"class":668},"use",[374,1547,1548],{"class":380},"(router);\n",[374,1550,1551],{"class":376,"line":461},[374,1552,657],{"emptyLinePlaceholder":656},[374,1554,1555,1558,1561,1564],{"class":376,"line":474},[374,1556,1557],{"class":596},"  await",[374,1559,1560],{"class":380}," router.",[374,1562,1563],{"class":668},"isReady",[374,1565,1566],{"class":380},"();\n",[374,1568,1569,1571,1574,1576,1579],{"class":376,"line":487},[374,1570,1542],{"class":380},[374,1572,1573],{"class":668},"mount",[374,1575,696],{"class":380},[374,1577,1578],{"class":394},"\"#root\"",[374,1580,1180],{"class":380},[374,1582,1583],{"class":376,"line":500},[374,1584,559],{"class":380},[374,1586,1587],{"class":376,"line":513},[374,1588,657],{"emptyLinePlaceholder":656},[374,1590,1591],{"class":376,"line":526},[374,1592,1593],{"class":744},"// eslint-disable-next-line unicorn/prefer-top-level-await\n",[374,1595,1596,1599],{"class":376,"line":539},[374,1597,1598],{"class":668},"main",[374,1600,1566],{"class":380},[364,1602,1604],{"className":1438,"code":1603,"filename":362,"language":1441,"meta":5,"style":5},"import { createSSRApp } from \"vue\";\nimport { renderToString } from \"vue/server-renderer\";\nimport { RouterView, createMemoryHistory, createRouter } from \"vue-router\";\nimport { createHead, transformHtmlTemplate } from \"unhead/server\";\n\nimport { routes } from \"./routes.ts\";\n\nimport clientAssets from \"./entry-client.ts?assets=client\";\n\nasync function handler(request: Request): Promise\u003CResponse> {\n  const app = createSSRApp(RouterView);\n  const router = createRouter({ history: createMemoryHistory(), routes });\n  app.use(router);\n\n  const url = new URL(request.url);\n  const href = url.href.slice(url.origin.length);\n\n  await router.push(href);\n  await router.isReady();\n\n  const assets = clientAssets.merge(\n    ...(await Promise.all(\n      router.currentRoute.value.matched\n        .map((to) => to.meta.assets)\n        .filter(Boolean)\n        .map((fn) => (fn as any)().then((m: any) => m.default))\n    ))\n  );\n\n  const head = createHead();\n\n  head.push({\n    link: [\n      ...assets.css.map((attrs: any) => ({ rel: \"stylesheet\", ...attrs })),\n      ...assets.js.map((attrs: any) => ({ rel: \"modulepreload\", ...attrs })),\n    ],\n    script: [{ type: \"module\", src: clientAssets.entry }],\n  });\n\n  const renderedApp = await renderToString(app);\n\n  const html = await transformHtmlTemplate(head, htmlTemplate(renderedApp));\n\n  return new Response(html, {\n    headers: { \"Content-Type\": \"text/html;charset=utf-8\" },\n  });\n}\n\nfunction htmlTemplate(body: string): string {\n  return /* html */ `\u003C!DOCTYPE html>\n\u003Chtml lang=\"en\">\n\u003Chead>\n  \u003Cmeta charset=\"UTF-8\" />\n  \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n  \u003Ctitle>Vue Router Custom Framework\u003C/title>\n\u003C/head>\n\u003Cbody>\n  \u003Cdiv id=\"root\">${body}\u003C/div>\n\u003C/body>\n\u003C/html>`;\n}\n\nexport default {\n  fetch: handler,\n};\n",[371,1605,1606,1618,1632,1645,1659,1663,1675,1679,1693,1697,1733,1745,1762,1770,1774,1792,1815,1819,1831,1841,1845,1863,1883,1888,1908,1918,1964,1969,1974,1978,1992,1996,2006,2011,2047,2079,2084,2094,2099,2103,2121,2125,2148,2152,2164,2180,2184,2188,2192,2217,2228,2234,2240,2246,2252,2258,2264,2270,2281,2287,2295,2300,2305,2314,2320],{"__ignoreMap":5},[374,1607,1608,1610,1612,1614,1616],{"class":376,"line":377},[374,1609,597],{"class":596},[374,1611,1450],{"class":380},[374,1613,603],{"class":596},[374,1615,1455],{"class":394},[374,1617,609],{"class":380},[374,1619,1620,1622,1625,1627,1630],{"class":376,"line":384},[374,1621,597],{"class":596},[374,1623,1624],{"class":380}," { renderToString } ",[374,1626,603],{"class":596},[374,1628,1629],{"class":394}," \"vue/server-renderer\"",[374,1631,609],{"class":380},[374,1633,1634,1636,1639,1641,1643],{"class":376,"line":401},[374,1635,597],{"class":596},[374,1637,1638],{"class":380}," { RouterView, createMemoryHistory, createRouter } ",[374,1640,603],{"class":596},[374,1642,914],{"class":394},[374,1644,609],{"class":380},[374,1646,1647,1649,1652,1654,1657],{"class":376,"line":410},[374,1648,597],{"class":596},[374,1650,1651],{"class":380}," { createHead, transformHtmlTemplate } ",[374,1653,603],{"class":596},[374,1655,1656],{"class":394}," \"unhead/server\"",[374,1658,609],{"class":380},[374,1660,1661],{"class":376,"line":423},[374,1662,657],{"emptyLinePlaceholder":656},[374,1664,1665,1667,1669,1671,1673],{"class":376,"line":436},[374,1666,597],{"class":596},[374,1668,1477],{"class":380},[374,1670,603],{"class":596},[374,1672,1482],{"class":394},[374,1674,609],{"class":380},[374,1676,1677],{"class":376,"line":447},[374,1678,657],{"emptyLinePlaceholder":656},[374,1680,1681,1683,1686,1688,1691],{"class":376,"line":453},[374,1682,597],{"class":596},[374,1684,1685],{"class":380}," clientAssets ",[374,1687,603],{"class":596},[374,1689,1690],{"class":394}," \"./entry-client.ts?assets=client\"",[374,1692,609],{"class":380},[374,1694,1695],{"class":376,"line":461},[374,1696,657],{"emptyLinePlaceholder":656},[374,1698,1699,1701,1703,1706,1708,1711,1714,1717,1720,1722,1725,1727,1730],{"class":376,"line":474},[374,1700,1493],{"class":596},[374,1702,794],{"class":596},[374,1704,1705],{"class":668}," handler",[374,1707,696],{"class":380},[374,1709,1710],{"class":675},"request",[374,1712,1713],{"class":596},":",[374,1715,1716],{"class":668}," Request",[374,1718,1719],{"class":380},")",[374,1721,1713],{"class":596},[374,1723,1724],{"class":668}," Promise",[374,1726,883],{"class":380},[374,1728,1729],{"class":668},"Response",[374,1731,1732],{"class":380},"> {\n",[374,1734,1735,1737,1739,1741,1743],{"class":376,"line":487},[374,1736,772],{"class":596},[374,1738,1508],{"class":387},[374,1740,778],{"class":596},[374,1742,1513],{"class":668},[374,1744,1516],{"class":380},[374,1746,1747,1749,1751,1753,1755,1757,1760],{"class":376,"line":500},[374,1748,772],{"class":596},[374,1750,1523],{"class":387},[374,1752,778],{"class":596},[374,1754,1528],{"class":668},[374,1756,1531],{"class":380},[374,1758,1759],{"class":668},"createMemoryHistory",[374,1761,1537],{"class":380},[374,1763,1764,1766,1768],{"class":376,"line":513},[374,1765,1542],{"class":380},[374,1767,1545],{"class":668},[374,1769,1548],{"class":380},[374,1771,1772],{"class":376,"line":526},[374,1773,657],{"emptyLinePlaceholder":656},[374,1775,1776,1778,1781,1783,1786,1789],{"class":376,"line":539},[374,1777,772],{"class":596},[374,1779,1780],{"class":387}," url",[374,1782,778],{"class":596},[374,1784,1785],{"class":596}," new",[374,1787,1788],{"class":668}," URL",[374,1790,1791],{"class":380},"(request.url);\n",[374,1793,1794,1796,1799,1801,1804,1807,1810,1813],{"class":376,"line":550},[374,1795,772],{"class":596},[374,1797,1798],{"class":387}," href",[374,1800,778],{"class":596},[374,1802,1803],{"class":380}," url.href.",[374,1805,1806],{"class":668},"slice",[374,1808,1809],{"class":380},"(url.origin.",[374,1811,1812],{"class":387},"length",[374,1814,1180],{"class":380},[374,1816,1817],{"class":376,"line":556},[374,1818,657],{"emptyLinePlaceholder":656},[374,1820,1821,1823,1825,1828],{"class":376,"line":869},[374,1822,1557],{"class":596},[374,1824,1560],{"class":380},[374,1826,1827],{"class":668},"push",[374,1829,1830],{"class":380},"(href);\n",[374,1832,1833,1835,1837,1839],{"class":376,"line":1099},[374,1834,1557],{"class":596},[374,1836,1560],{"class":380},[374,1838,1563],{"class":668},[374,1840,1566],{"class":380},[374,1842,1843],{"class":376,"line":1104},[374,1844,657],{"emptyLinePlaceholder":656},[374,1846,1847,1849,1852,1854,1857,1860],{"class":376,"line":1117},[374,1848,772],{"class":596},[374,1850,1851],{"class":387}," assets",[374,1853,778],{"class":596},[374,1855,1856],{"class":380}," clientAssets.",[374,1858,1859],{"class":668},"merge",[374,1861,1862],{"class":380},"(\n",[374,1864,1865,1868,1870,1873,1875,1878,1881],{"class":376,"line":1125},[374,1866,1867],{"class":596},"    ...",[374,1869,696],{"class":380},[374,1871,1872],{"class":596},"await",[374,1874,1724],{"class":387},[374,1876,1877],{"class":380},".",[374,1879,1880],{"class":668},"all",[374,1882,1862],{"class":380},[374,1884,1885],{"class":376,"line":1138},[374,1886,1887],{"class":380},"      router.currentRoute.value.matched\n",[374,1889,1890,1893,1896,1898,1901,1903,1905],{"class":376,"line":1183},[374,1891,1892],{"class":380},"        .",[374,1894,1895],{"class":668},"map",[374,1897,672],{"class":380},[374,1899,1900],{"class":675},"to",[374,1902,679],{"class":380},[374,1904,682],{"class":596},[374,1906,1907],{"class":380}," to.meta.assets)\n",[374,1909,1910,1912,1915],{"class":376,"line":1198},[374,1911,1892],{"class":380},[374,1913,1914],{"class":668},"filter",[374,1916,1917],{"class":380},"(Boolean)\n",[374,1919,1920,1922,1924,1926,1929,1931,1933,1936,1939,1942,1945,1948,1950,1953,1955,1957,1959,1961],{"class":376,"line":1203},[374,1921,1892],{"class":380},[374,1923,1895],{"class":668},[374,1925,672],{"class":380},[374,1927,1928],{"class":675},"fn",[374,1930,679],{"class":380},[374,1932,682],{"class":596},[374,1934,1935],{"class":380}," (fn ",[374,1937,1938],{"class":596},"as",[374,1940,1941],{"class":387}," any",[374,1943,1944],{"class":380},")().",[374,1946,1947],{"class":668},"then",[374,1949,672],{"class":380},[374,1951,1952],{"class":675},"m",[374,1954,1713],{"class":596},[374,1956,1941],{"class":387},[374,1958,679],{"class":380},[374,1960,682],{"class":596},[374,1962,1963],{"class":380}," m.default))\n",[374,1965,1966],{"class":376,"line":1208},[374,1967,1968],{"class":380},"    ))\n",[374,1970,1971],{"class":376,"line":1218},[374,1972,1973],{"class":380},"  );\n",[374,1975,1976],{"class":376,"line":1231},[374,1977,657],{"emptyLinePlaceholder":656},[374,1979,1980,1982,1985,1987,1990],{"class":376,"line":1243},[374,1981,772],{"class":596},[374,1983,1984],{"class":387}," head",[374,1986,778],{"class":596},[374,1988,1989],{"class":668}," createHead",[374,1991,1566],{"class":380},[374,1993,1994],{"class":376,"line":1254},[374,1995,657],{"emptyLinePlaceholder":656},[374,1997,1998,2001,2003],{"class":376,"line":1267},[374,1999,2000],{"class":380},"  head.",[374,2002,1827],{"class":668},[374,2004,2005],{"class":380},"({\n",[374,2007,2008],{"class":376,"line":1282},[374,2009,2010],{"class":380},"    link: [\n",[374,2012,2013,2016,2019,2021,2023,2026,2028,2030,2032,2034,2037,2040,2042,2044],{"class":376,"line":1297},[374,2014,2015],{"class":596},"      ...",[374,2017,2018],{"class":380},"assets.css.",[374,2020,1895],{"class":668},[374,2022,672],{"class":380},[374,2024,2025],{"class":675},"attrs",[374,2027,1713],{"class":596},[374,2029,1941],{"class":387},[374,2031,679],{"class":380},[374,2033,682],{"class":596},[374,2035,2036],{"class":380}," ({ rel: ",[374,2038,2039],{"class":394},"\"stylesheet\"",[374,2041,761],{"class":380},[374,2043,800],{"class":596},[374,2045,2046],{"class":380},"attrs })),\n",[374,2048,2049,2051,2054,2056,2058,2060,2062,2064,2066,2068,2070,2073,2075,2077],{"class":376,"line":1311},[374,2050,2015],{"class":596},[374,2052,2053],{"class":380},"assets.js.",[374,2055,1895],{"class":668},[374,2057,672],{"class":380},[374,2059,2025],{"class":675},[374,2061,1713],{"class":596},[374,2063,1941],{"class":387},[374,2065,679],{"class":380},[374,2067,682],{"class":596},[374,2069,2036],{"class":380},[374,2071,2072],{"class":394},"\"modulepreload\"",[374,2074,761],{"class":380},[374,2076,800],{"class":596},[374,2078,2046],{"class":380},[374,2080,2081],{"class":376,"line":1316},[374,2082,2083],{"class":380},"    ],\n",[374,2085,2086,2089,2091],{"class":376,"line":1321},[374,2087,2088],{"class":380},"    script: [{ type: ",[374,2090,395],{"class":394},[374,2092,2093],{"class":380},", src: clientAssets.entry }],\n",[374,2095,2096],{"class":376,"line":1331},[374,2097,2098],{"class":380},"  });\n",[374,2100,2101],{"class":376,"line":1344},[374,2102,657],{"emptyLinePlaceholder":656},[374,2104,2105,2107,2110,2112,2115,2118],{"class":376,"line":1356},[374,2106,772],{"class":596},[374,2108,2109],{"class":387}," renderedApp",[374,2111,778],{"class":596},[374,2113,2114],{"class":596}," await",[374,2116,2117],{"class":668}," renderToString",[374,2119,2120],{"class":380},"(app);\n",[374,2122,2123],{"class":376,"line":1361},[374,2124,657],{"emptyLinePlaceholder":656},[374,2126,2127,2129,2132,2134,2136,2139,2142,2145],{"class":376,"line":1366},[374,2128,772],{"class":596},[374,2130,2131],{"class":387}," html",[374,2133,778],{"class":596},[374,2135,2114],{"class":596},[374,2137,2138],{"class":668}," transformHtmlTemplate",[374,2140,2141],{"class":380},"(head, ",[374,2143,2144],{"class":668},"htmlTemplate",[374,2146,2147],{"class":380},"(renderedApp));\n",[374,2149,2150],{"class":376,"line":1378},[374,2151,657],{"emptyLinePlaceholder":656},[374,2153,2154,2156,2158,2161],{"class":376,"line":1390},[374,2155,863],{"class":596},[374,2157,1785],{"class":596},[374,2159,2160],{"class":668}," Response",[374,2162,2163],{"class":380},"(html, {\n",[374,2165,2166,2169,2172,2174,2177],{"class":376,"line":1395},[374,2167,2168],{"class":380},"    headers: { ",[374,2170,2171],{"class":394},"\"Content-Type\"",[374,2173,391],{"class":380},[374,2175,2176],{"class":394},"\"text/html;charset=utf-8\"",[374,2178,2179],{"class":380}," },\n",[374,2181,2182],{"class":376,"line":1400},[374,2183,2098],{"class":380},[374,2185,2186],{"class":376,"line":1412},[374,2187,559],{"class":380},[374,2189,2190],{"class":376,"line":1424},[374,2191,657],{"emptyLinePlaceholder":656},[374,2193,2194,2196,2199,2201,2204,2206,2209,2211,2213,2215],{"class":376,"line":1429},[374,2195,750],{"class":596},[374,2197,2198],{"class":668}," htmlTemplate",[374,2200,696],{"class":380},[374,2202,2203],{"class":675},"body",[374,2205,1713],{"class":596},[374,2207,2208],{"class":387}," string",[374,2210,1719],{"class":380},[374,2212,1713],{"class":596},[374,2214,2208],{"class":387},[374,2216,1122],{"class":380},[374,2218,2220,2222,2225],{"class":376,"line":2219},50,[374,2221,863],{"class":596},[374,2223,2224],{"class":744}," /* html */",[374,2226,2227],{"class":394}," `\u003C!DOCTYPE html>\n",[374,2229,2231],{"class":376,"line":2230},51,[374,2232,2233],{"class":394},"\u003Chtml lang=\"en\">\n",[374,2235,2237],{"class":376,"line":2236},52,[374,2238,2239],{"class":394},"\u003Chead>\n",[374,2241,2243],{"class":376,"line":2242},53,[374,2244,2245],{"class":394},"  \u003Cmeta charset=\"UTF-8\" />\n",[374,2247,2249],{"class":376,"line":2248},54,[374,2250,2251],{"class":394},"  \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n",[374,2253,2255],{"class":376,"line":2254},55,[374,2256,2257],{"class":394},"  \u003Ctitle>Vue Router Custom Framework\u003C/title>\n",[374,2259,2261],{"class":376,"line":2260},56,[374,2262,2263],{"class":394},"\u003C/head>\n",[374,2265,2267],{"class":376,"line":2266},57,[374,2268,2269],{"class":394},"\u003Cbody>\n",[374,2271,2273,2276,2278],{"class":376,"line":2272},58,[374,2274,2275],{"class":394},"  \u003Cdiv id=\"root\">${",[374,2277,2203],{"class":380},[374,2279,2280],{"class":394},"}\u003C/div>\n",[374,2282,2284],{"class":376,"line":2283},59,[374,2285,2286],{"class":394},"\u003C/body>\n",[374,2288,2290,2293],{"class":376,"line":2289},60,[374,2291,2292],{"class":394},"\u003C/html>`",[374,2294,609],{"class":380},[374,2296,2298],{"class":376,"line":2297},61,[374,2299,559],{"class":380},[374,2301,2303],{"class":376,"line":2302},62,[374,2304,657],{"emptyLinePlaceholder":656},[374,2306,2308,2310,2312],{"class":376,"line":2307},63,[374,2309,662],{"class":596},[374,2311,665],{"class":596},[374,2313,1122],{"class":380},[374,2315,2317],{"class":376,"line":2316},64,[374,2318,2319],{"class":380},"  fetch: handler,\n",[374,2321,2323],{"class":376,"line":2322},65,[374,2324,2325],{"class":380},"};\n",[364,2327,2330],{"className":1438,"code":2328,"filename":2329,"language":1441,"meta":5,"style":5},"import type { RouteRecordRaw } from \"vue-router\";\n\nexport const routes: RouteRecordRaw[] = [\n  {\n    path: \"/\",\n    name: \"app\",\n    component: () => import(\"./app.vue\"),\n    meta: {\n      assets: () => import(\"./app.vue?assets\"),\n    },\n    children: [\n      {\n        path: \"/\",\n        name: \"home\",\n        component: () => import(\"./pages/index.vue\"),\n        meta: {\n          assets: () => import(\"./pages/index.vue?assets\"),\n        },\n      },\n      {\n        path: \"/about\",\n        name: \"about\",\n        component: () => import(\"./pages/about.vue\"),\n        meta: {\n          assets: () => import(\"./pages/about.vue?assets\"),\n        },\n      },\n      {\n        path: \"/:catchAll(.*)\",\n        name: \"not-found\",\n        component: () => import(\"./pages/not-found.vue\"),\n        meta: {\n          assets: () => import(\"./pages/not-found.vue?assets\"),\n        },\n      },\n    ],\n  },\n];\n","app/routes.ts",[371,2331,2332,2348,2352,2375,2380,2389,2399,2420,2425,2443,2448,2453,2458,2467,2477,2495,2500,2518,2523,2528,2532,2540,2549,2566,2570,2587,2591,2595,2599,2608,2617,2634,2638,2655,2659,2663,2667,2671],{"__ignoreMap":5},[374,2333,2334,2336,2339,2342,2344,2346],{"class":376,"line":377},[374,2335,597],{"class":596},[374,2337,2338],{"class":596}," type",[374,2340,2341],{"class":380}," { RouteRecordRaw } ",[374,2343,603],{"class":596},[374,2345,914],{"class":394},[374,2347,609],{"class":380},[374,2349,2350],{"class":376,"line":384},[374,2351,657],{"emptyLinePlaceholder":656},[374,2353,2354,2356,2359,2362,2364,2367,2370,2372],{"class":376,"line":401},[374,2355,662],{"class":596},[374,2357,2358],{"class":596}," const",[374,2360,2361],{"class":387}," routes",[374,2363,1713],{"class":596},[374,2365,2366],{"class":668}," RouteRecordRaw",[374,2368,2369],{"class":380},"[] ",[374,2371,896],{"class":596},[374,2373,2374],{"class":380}," [\n",[374,2376,2377],{"class":376,"line":410},[374,2378,2379],{"class":380},"  {\n",[374,2381,2382,2385,2387],{"class":376,"line":423},[374,2383,2384],{"class":380},"    path: ",[374,2386,993],{"class":394},[374,2388,398],{"class":380},[374,2390,2391,2394,2397],{"class":376,"line":436},[374,2392,2393],{"class":380},"    name: ",[374,2395,2396],{"class":394},"\"app\"",[374,2398,398],{"class":380},[374,2400,2401,2404,2407,2409,2412,2414,2417],{"class":376,"line":447},[374,2402,2403],{"class":668},"    component",[374,2405,2406],{"class":380},": () ",[374,2408,682],{"class":596},[374,2410,2411],{"class":596}," import",[374,2413,696],{"class":380},[374,2415,2416],{"class":394},"\"./app.vue\"",[374,2418,2419],{"class":380},"),\n",[374,2421,2422],{"class":376,"line":453},[374,2423,2424],{"class":380},"    meta: {\n",[374,2426,2427,2430,2432,2434,2436,2438,2441],{"class":376,"line":461},[374,2428,2429],{"class":668},"      assets",[374,2431,2406],{"class":380},[374,2433,682],{"class":596},[374,2435,2411],{"class":596},[374,2437,696],{"class":380},[374,2439,2440],{"class":394},"\"./app.vue?assets\"",[374,2442,2419],{"class":380},[374,2444,2445],{"class":376,"line":474},[374,2446,2447],{"class":380},"    },\n",[374,2449,2450],{"class":376,"line":487},[374,2451,2452],{"class":380},"    children: [\n",[374,2454,2455],{"class":376,"line":500},[374,2456,2457],{"class":380},"      {\n",[374,2459,2460,2463,2465],{"class":376,"line":513},[374,2461,2462],{"class":380},"        path: ",[374,2464,993],{"class":394},[374,2466,398],{"class":380},[374,2468,2469,2472,2475],{"class":376,"line":526},[374,2470,2471],{"class":380},"        name: ",[374,2473,2474],{"class":394},"\"home\"",[374,2476,398],{"class":380},[374,2478,2479,2482,2484,2486,2488,2490,2493],{"class":376,"line":539},[374,2480,2481],{"class":668},"        component",[374,2483,2406],{"class":380},[374,2485,682],{"class":596},[374,2487,2411],{"class":596},[374,2489,696],{"class":380},[374,2491,2492],{"class":394},"\"./pages/index.vue\"",[374,2494,2419],{"class":380},[374,2496,2497],{"class":376,"line":550},[374,2498,2499],{"class":380},"        meta: {\n",[374,2501,2502,2505,2507,2509,2511,2513,2516],{"class":376,"line":556},[374,2503,2504],{"class":668},"          assets",[374,2506,2406],{"class":380},[374,2508,682],{"class":596},[374,2510,2411],{"class":596},[374,2512,696],{"class":380},[374,2514,2515],{"class":394},"\"./pages/index.vue?assets\"",[374,2517,2419],{"class":380},[374,2519,2520],{"class":376,"line":869},[374,2521,2522],{"class":380},"        },\n",[374,2524,2525],{"class":376,"line":1099},[374,2526,2527],{"class":380},"      },\n",[374,2529,2530],{"class":376,"line":1104},[374,2531,2457],{"class":380},[374,2533,2534,2536,2538],{"class":376,"line":1117},[374,2535,2462],{"class":380},[374,2537,1038],{"class":394},[374,2539,398],{"class":380},[374,2541,2542,2544,2547],{"class":376,"line":1125},[374,2543,2471],{"class":380},[374,2545,2546],{"class":394},"\"about\"",[374,2548,398],{"class":380},[374,2550,2551,2553,2555,2557,2559,2561,2564],{"class":376,"line":1138},[374,2552,2481],{"class":668},[374,2554,2406],{"class":380},[374,2556,682],{"class":596},[374,2558,2411],{"class":596},[374,2560,696],{"class":380},[374,2562,2563],{"class":394},"\"./pages/about.vue\"",[374,2565,2419],{"class":380},[374,2567,2568],{"class":376,"line":1183},[374,2569,2499],{"class":380},[374,2571,2572,2574,2576,2578,2580,2582,2585],{"class":376,"line":1198},[374,2573,2504],{"class":668},[374,2575,2406],{"class":380},[374,2577,682],{"class":596},[374,2579,2411],{"class":596},[374,2581,696],{"class":380},[374,2583,2584],{"class":394},"\"./pages/about.vue?assets\"",[374,2586,2419],{"class":380},[374,2588,2589],{"class":376,"line":1203},[374,2590,2522],{"class":380},[374,2592,2593],{"class":376,"line":1208},[374,2594,2527],{"class":380},[374,2596,2597],{"class":376,"line":1218},[374,2598,2457],{"class":380},[374,2600,2601,2603,2606],{"class":376,"line":1231},[374,2602,2462],{"class":380},[374,2604,2605],{"class":394},"\"/:catchAll(.*)\"",[374,2607,398],{"class":380},[374,2609,2610,2612,2615],{"class":376,"line":1243},[374,2611,2471],{"class":380},[374,2613,2614],{"class":394},"\"not-found\"",[374,2616,398],{"class":380},[374,2618,2619,2621,2623,2625,2627,2629,2632],{"class":376,"line":1254},[374,2620,2481],{"class":668},[374,2622,2406],{"class":380},[374,2624,682],{"class":596},[374,2626,2411],{"class":596},[374,2628,696],{"class":380},[374,2630,2631],{"class":394},"\"./pages/not-found.vue\"",[374,2633,2419],{"class":380},[374,2635,2636],{"class":376,"line":1267},[374,2637,2499],{"class":380},[374,2639,2640,2642,2644,2646,2648,2650,2653],{"class":376,"line":1282},[374,2641,2504],{"class":668},[374,2643,2406],{"class":380},[374,2645,682],{"class":596},[374,2647,2411],{"class":596},[374,2649,696],{"class":380},[374,2651,2652],{"class":394},"\"./pages/not-found.vue?assets\"",[374,2654,2419],{"class":380},[374,2656,2657],{"class":376,"line":1297},[374,2658,2522],{"class":380},[374,2660,2661],{"class":376,"line":1311},[374,2662,2527],{"class":380},[374,2664,2665],{"class":376,"line":1316},[374,2666,2083],{"class":380},[374,2668,2669],{"class":376,"line":1321},[374,2670,450],{"class":380},[374,2672,2673],{"class":376,"line":1331},[374,2674,2675],{"class":380},"];\n",[364,2677,2680],{"className":1438,"code":2678,"filename":2679,"language":1441,"meta":5,"style":5},"declare module \"*.vue\" {\n  import type { DefineComponent } from \"vue\";\n  const component: DefineComponent\u003C{}, {}, any>;\n  export default component;\n}\n","app/shims.d.ts",[371,2681,2682,2695,2711,2732,2742],{"__ignoreMap":5},[374,2683,2684,2687,2690,2693],{"class":376,"line":377},[374,2685,2686],{"class":596},"declare",[374,2688,2689],{"class":596}," module",[374,2691,2692],{"class":394}," \"*.vue\"",[374,2694,1122],{"class":380},[374,2696,2697,2700,2702,2705,2707,2709],{"class":376,"line":384},[374,2698,2699],{"class":596},"  import",[374,2701,2338],{"class":596},[374,2703,2704],{"class":380}," { DefineComponent } ",[374,2706,603],{"class":596},[374,2708,1455],{"class":394},[374,2710,609],{"class":380},[374,2712,2713,2715,2718,2720,2723,2726,2729],{"class":376,"line":401},[374,2714,772],{"class":596},[374,2716,2717],{"class":387}," component",[374,2719,1713],{"class":596},[374,2721,2722],{"class":668}," DefineComponent",[374,2724,2725],{"class":380},"\u003C{}, {}, ",[374,2727,2728],{"class":387},"any",[374,2730,2731],{"class":380},">;\n",[374,2733,2734,2737,2739],{"class":376,"line":410},[374,2735,2736],{"class":596},"  export",[374,2738,665],{"class":596},[374,2740,2741],{"class":380}," component;\n",[374,2743,2744],{"class":376,"line":423},[374,2745,559],{"class":380},[364,2747,2752],{"className":2748,"code":2749,"filename":2750,"language":2751,"meta":5,"style":5},"language-css shiki shiki-themes github-light github-dark github-dark","* {\n  box-sizing: border-box;\n}\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  background: #f5f5f5;\n  color: #333;\n}\n\nmain {\n  max-width: 800px;\n  margin: 0 auto;\n  padding: 2rem;\n}\n\nh1 {\n  font-size: 2.5rem;\n  margin-bottom: 0.5rem;\n}\n\n.card {\n  background: white;\n  border-radius: 8px;\n  padding: 2rem;\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n  margin: 2rem 0;\n}\n\nbutton {\n  background: rgb(83, 91, 242);\n  color: white;\n  border: none;\n  padding: 0.5rem 1rem;\n  border-radius: 4px;\n  font-size: 1rem;\n  cursor: pointer;\n}\n\nbutton:hover {\n  background: #535bf2;\n}\n\n.subtitle {\n  color: #666;\n  font-size: 1.1rem;\n  margin-bottom: 2rem;\n}\n","app/styles.css","css",[371,2753,2754,2761,2773,2777,2781,2787,2797,2820,2831,2841,2845,2849,2855,2867,2879,2891,2895,2899,2906,2920,2934,2938,2942,2949,2959,2973,2985,3023,3038,3042,3046,3053,3079,3089,3100,3116,3129,3141,3153,3157,3161,3169,3180,3184,3188,3195,3205,3218,3230],{"__ignoreMap":5},[374,2755,2756,2759],{"class":376,"line":377},[374,2757,2758],{"class":886},"*",[374,2760,1122],{"class":380},[374,2762,2763,2766,2768,2771],{"class":376,"line":384},[374,2764,2765],{"class":387},"  box-sizing",[374,2767,391],{"class":380},[374,2769,2770],{"class":387},"border-box",[374,2772,609],{"class":380},[374,2774,2775],{"class":376,"line":401},[374,2776,559],{"class":380},[374,2778,2779],{"class":376,"line":410},[374,2780,657],{"emptyLinePlaceholder":656},[374,2782,2783,2785],{"class":376,"line":423},[374,2784,2203],{"class":886},[374,2786,1122],{"class":380},[374,2788,2789,2791,2793,2795],{"class":376,"line":436},[374,2790,1234],{"class":387},[374,2792,391],{"class":380},[374,2794,1146],{"class":387},[374,2796,609],{"class":380},[374,2798,2799,2802,2804,2807,2810,2813,2815,2818],{"class":376,"line":447},[374,2800,2801],{"class":387},"  font-family",[374,2803,391],{"class":380},[374,2805,2806],{"class":387},"-apple-system",[374,2808,2809],{"class":380},", BlinkMacSystemFont, ",[374,2811,2812],{"class":394},"\"Segoe UI\"",[374,2814,761],{"class":380},[374,2816,2817],{"class":387},"sans-serif",[374,2819,609],{"class":380},[374,2821,2822,2824,2826,2829],{"class":376,"line":453},[374,2823,1128],{"class":387},[374,2825,391],{"class":380},[374,2827,2828],{"class":387},"#f5f5f5",[374,2830,609],{"class":380},[374,2832,2833,2835,2837,2839],{"class":376,"line":461},[374,2834,1334],{"class":387},[374,2836,391],{"class":380},[374,2838,1385],{"class":387},[374,2840,609],{"class":380},[374,2842,2843],{"class":376,"line":474},[374,2844,559],{"class":380},[374,2846,2847],{"class":376,"line":487},[374,2848,657],{"emptyLinePlaceholder":656},[374,2850,2851,2853],{"class":376,"line":500},[374,2852,1598],{"class":886},[374,2854,1122],{"class":380},[374,2856,2857,2859,2861,2863,2865],{"class":376,"line":513},[374,2858,1285],{"class":387},[374,2860,391],{"class":380},[374,2862,1290],{"class":387},[374,2864,1152],{"class":596},[374,2866,609],{"class":380},[374,2868,2869,2871,2873,2875,2877],{"class":376,"line":526},[374,2870,1234],{"class":387},[374,2872,391],{"class":380},[374,2874,1146],{"class":387},[374,2876,1306],{"class":387},[374,2878,609],{"class":380},[374,2880,2881,2883,2885,2887,2889],{"class":376,"line":539},[374,2882,1186],{"class":387},[374,2884,391],{"class":380},[374,2886,1275],{"class":387},[374,2888,1193],{"class":596},[374,2890,609],{"class":380},[374,2892,2893],{"class":376,"line":550},[374,2894,559],{"class":380},[374,2896,2897],{"class":376,"line":556},[374,2898,657],{"emptyLinePlaceholder":656},[374,2900,2901,2904],{"class":376,"line":869},[374,2902,2903],{"class":886},"h1",[374,2905,1122],{"class":380},[374,2907,2908,2911,2913,2916,2918],{"class":376,"line":1099},[374,2909,2910],{"class":387},"  font-size",[374,2912,391],{"class":380},[374,2914,2915],{"class":387},"2.5",[374,2917,1193],{"class":596},[374,2919,609],{"class":380},[374,2921,2922,2925,2927,2930,2932],{"class":376,"line":1104},[374,2923,2924],{"class":387},"  margin-bottom",[374,2926,391],{"class":380},[374,2928,2929],{"class":387},"0.5",[374,2931,1193],{"class":596},[374,2933,609],{"class":380},[374,2935,2936],{"class":376,"line":1117},[374,2937,559],{"class":380},[374,2939,2940],{"class":376,"line":1125},[374,2941,657],{"emptyLinePlaceholder":656},[374,2943,2944,2947],{"class":376,"line":1138},[374,2945,2946],{"class":668},".card",[374,2948,1122],{"class":380},[374,2950,2951,2953,2955,2957],{"class":376,"line":1183},[374,2952,1128],{"class":387},[374,2954,391],{"class":380},[374,2956,1133],{"class":387},[374,2958,609],{"class":380},[374,2960,2961,2964,2966,2969,2971],{"class":376,"line":1198},[374,2962,2963],{"class":387},"  border-radius",[374,2965,391],{"class":380},[374,2967,2968],{"class":387},"8",[374,2970,1152],{"class":596},[374,2972,609],{"class":380},[374,2974,2975,2977,2979,2981,2983],{"class":376,"line":1203},[374,2976,1186],{"class":387},[374,2978,391],{"class":380},[374,2980,1275],{"class":387},[374,2982,1193],{"class":596},[374,2984,609],{"class":380},[374,2986,2987,2989,2991,2993,2996,2998,3001,3003,3005,3007,3009,3011,3013,3015,3017,3019,3021],{"class":376,"line":1208},[374,2988,1141],{"class":387},[374,2990,391],{"class":380},[374,2992,1146],{"class":387},[374,2994,2995],{"class":387}," 2",[374,2997,1152],{"class":596},[374,2999,3000],{"class":387}," 4",[374,3002,1152],{"class":596},[374,3004,1160],{"class":387},[374,3006,696],{"class":380},[374,3008,1146],{"class":387},[374,3010,761],{"class":380},[374,3012,1146],{"class":387},[374,3014,761],{"class":380},[374,3016,1146],{"class":387},[374,3018,761],{"class":380},[374,3020,1177],{"class":387},[374,3022,1180],{"class":380},[374,3024,3025,3027,3029,3031,3033,3036],{"class":376,"line":1218},[374,3026,1234],{"class":387},[374,3028,391],{"class":380},[374,3030,1275],{"class":387},[374,3032,1193],{"class":596},[374,3034,3035],{"class":387}," 0",[374,3037,609],{"class":380},[374,3039,3040],{"class":376,"line":1231},[374,3041,559],{"class":380},[374,3043,3044],{"class":376,"line":1243},[374,3045,657],{"emptyLinePlaceholder":656},[374,3047,3048,3051],{"class":376,"line":1254},[374,3049,3050],{"class":886},"button",[374,3052,1122],{"class":380},[374,3054,3055,3057,3059,3062,3064,3067,3069,3072,3074,3077],{"class":376,"line":1267},[374,3056,1128],{"class":387},[374,3058,391],{"class":380},[374,3060,3061],{"class":387},"rgb",[374,3063,696],{"class":380},[374,3065,3066],{"class":387},"83",[374,3068,761],{"class":380},[374,3070,3071],{"class":387},"91",[374,3073,761],{"class":380},[374,3075,3076],{"class":387},"242",[374,3078,1180],{"class":380},[374,3080,3081,3083,3085,3087],{"class":376,"line":1282},[374,3082,1334],{"class":387},[374,3084,391],{"class":380},[374,3086,1133],{"class":387},[374,3088,609],{"class":380},[374,3090,3091,3094,3096,3098],{"class":376,"line":1297},[374,3092,3093],{"class":387},"  border",[374,3095,391],{"class":380},[374,3097,1226],{"class":387},[374,3099,609],{"class":380},[374,3101,3102,3104,3106,3108,3110,3112,3114],{"class":376,"line":1311},[374,3103,1186],{"class":387},[374,3105,391],{"class":380},[374,3107,2929],{"class":387},[374,3109,1193],{"class":596},[374,3111,1149],{"class":387},[374,3113,1193],{"class":596},[374,3115,609],{"class":380},[374,3117,3118,3120,3122,3125,3127],{"class":376,"line":1316},[374,3119,2963],{"class":387},[374,3121,391],{"class":380},[374,3123,3124],{"class":387},"4",[374,3126,1152],{"class":596},[374,3128,609],{"class":380},[374,3130,3131,3133,3135,3137,3139],{"class":376,"line":1321},[374,3132,2910],{"class":387},[374,3134,391],{"class":380},[374,3136,822],{"class":387},[374,3138,1193],{"class":596},[374,3140,609],{"class":380},[374,3142,3143,3146,3148,3151],{"class":376,"line":1331},[374,3144,3145],{"class":387},"  cursor",[374,3147,391],{"class":380},[374,3149,3150],{"class":387},"pointer",[374,3152,609],{"class":380},[374,3154,3155],{"class":376,"line":1344},[374,3156,559],{"class":380},[374,3158,3159],{"class":376,"line":1356},[374,3160,657],{"emptyLinePlaceholder":656},[374,3162,3163,3165,3167],{"class":376,"line":1361},[374,3164,3050],{"class":886},[374,3166,1373],{"class":668},[374,3168,1122],{"class":380},[374,3170,3171,3173,3175,3178],{"class":376,"line":1366},[374,3172,1128],{"class":387},[374,3174,391],{"class":380},[374,3176,3177],{"class":387},"#535bf2",[374,3179,609],{"class":380},[374,3181,3182],{"class":376,"line":1378},[374,3183,559],{"class":380},[374,3185,3186],{"class":376,"line":1390},[374,3187,657],{"emptyLinePlaceholder":656},[374,3189,3190,3193],{"class":376,"line":1395},[374,3191,3192],{"class":668},".subtitle",[374,3194,1122],{"class":380},[374,3196,3197,3199,3201,3203],{"class":376,"line":1400},[374,3198,1334],{"class":387},[374,3200,391],{"class":380},[374,3202,1339],{"class":387},[374,3204,609],{"class":380},[374,3206,3207,3209,3211,3214,3216],{"class":376,"line":1412},[374,3208,2910],{"class":387},[374,3210,391],{"class":380},[374,3212,3213],{"class":387},"1.1",[374,3215,1193],{"class":596},[374,3217,609],{"class":380},[374,3219,3220,3222,3224,3226,3228],{"class":376,"line":1424},[374,3221,2924],{"class":387},[374,3223,391],{"class":380},[374,3225,1275],{"class":387},[374,3227,1193],{"class":596},[374,3229,609],{"class":380},[374,3231,3232],{"class":376,"line":1429},[374,3233,559],{"class":380},[364,3235,3238],{"className":874,"code":3236,"filename":3237,"language":699,"meta":5,"style":5},"\u003Ctemplate>\n  \u003Cmain>\n    \u003Ch1>About\u003C/h1>\n    \u003Cdiv class=\"card\">\n      \u003Cp>This is a simple Vue Router demo app built with Vite Plugin Fullstack.\u003C/p>\n      \u003Cp>It demonstrates basic routing and server-side rendering.\u003C/p>\n    \u003C/div>\n  \u003C/main>\n\u003C/template>\n","app/pages/about.vue",[371,3239,3240,3248,3256,3268,3285,3299,3312,3320,3328],{"__ignoreMap":5},[374,3241,3242,3244,3246],{"class":376,"line":377},[374,3243,883],{"class":380},[374,3245,945],{"class":886},[374,3247,902],{"class":380},[374,3249,3250,3252,3254],{"class":376,"line":384},[374,3251,952],{"class":380},[374,3253,1598],{"class":886},[374,3255,902],{"class":380},[374,3257,3258,3260,3262,3264,3266],{"class":376,"line":401},[374,3259,962],{"class":380},[374,3261,2903],{"class":886},[374,3263,1048],{"class":380},[374,3265,2903],{"class":886},[374,3267,902],{"class":380},[374,3269,3270,3272,3275,3278,3280,3283],{"class":376,"line":410},[374,3271,962],{"class":380},[374,3273,3274],{"class":886},"div",[374,3276,3277],{"class":668}," class",[374,3279,896],{"class":380},[374,3281,3282],{"class":394},"\"card\"",[374,3284,902],{"class":380},[374,3286,3287,3289,3292,3295,3297],{"class":376,"line":423},[374,3288,972],{"class":380},[374,3290,3291],{"class":886},"p",[374,3293,3294],{"class":380},">This is a simple Vue Router demo app built with Vite Plugin Fullstack.\u003C/",[374,3296,3291],{"class":886},[374,3298,902],{"class":380},[374,3300,3301,3303,3305,3308,3310],{"class":376,"line":436},[374,3302,972],{"class":380},[374,3304,3291],{"class":886},[374,3306,3307],{"class":380},">It demonstrates basic routing and server-side rendering.\u003C/",[374,3309,3291],{"class":886},[374,3311,902],{"class":380},[374,3313,3314,3316,3318],{"class":376,"line":447},[374,3315,1065],{"class":380},[374,3317,3274],{"class":886},[374,3319,902],{"class":380},[374,3321,3322,3324,3326],{"class":376,"line":453},[374,3323,1074],{"class":380},[374,3325,1598],{"class":886},[374,3327,902],{"class":380},[374,3329,3330,3332,3334],{"class":376,"line":461},[374,3331,930],{"class":380},[374,3333,945],{"class":886},[374,3335,902],{"class":380},[364,3337,3340],{"className":874,"code":3338,"filename":3339,"language":699,"meta":5,"style":5},"\u003Cscript setup lang=\"ts\">\nimport { ref } from \"vue\";\n\nconst count = ref(0);\n\nfunction increment() {\n  count.value++;\n}\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cmain>\n    \u003Cdiv class=\"hero\">\n      \u003Ch1>Vue Router Custom Framework\u003C/h1>\n      \u003Cp class=\"subtitle\">A simple demo app with Vite\u003C/p>\n    \u003C/div>\n\n    \u003Cdiv class=\"card counter-card\">\n      \u003Cp>Count: {{ count }}\u003C/p>\n      \u003Cbutton @click=\"increment\">Increment\u003C/button>\n    \u003C/div>\n  \u003C/main>\n\u003C/template>\n\n\u003Cstyle scoped>\n.hero {\n  text-align: center;\n  margin-bottom: 2rem;\n}\n\n.hero h1 {\n  color: rgb(100, 108, 255);\n}\n\n.counter-card {\n  text-align: center;\n}\n\n.counter-card h2 {\n  color: #646cff;\n  margin-bottom: 1rem;\n}\n\n.counter-card p {\n  font-size: 1.5rem;\n  font-weight: bold;\n  margin: 1rem 0;\n}\n\u003C/style>\n","app/pages/index.vue",[371,3341,3342,3358,3371,3375,3394,3398,3407,3417,3421,3429,3433,3441,3449,3464,3477,3497,3505,3509,3524,3537,3558,3566,3574,3582,3586,3596,3603,3615,3627,3631,3635,3644,3669,3673,3677,3684,3694,3698,3702,3711,3721,3733,3737,3741,3750,3763,3775,3789,3793],{"__ignoreMap":5},[374,3343,3344,3346,3348,3350,3352,3354,3356],{"class":376,"line":377},[374,3345,883],{"class":380},[374,3347,887],{"class":886},[374,3349,890],{"class":668},[374,3351,893],{"class":668},[374,3353,896],{"class":380},[374,3355,899],{"class":394},[374,3357,902],{"class":380},[374,3359,3360,3362,3365,3367,3369],{"class":376,"line":384},[374,3361,597],{"class":596},[374,3363,3364],{"class":380}," { ref } ",[374,3366,603],{"class":596},[374,3368,1455],{"class":394},[374,3370,609],{"class":380},[374,3372,3373],{"class":376,"line":401},[374,3374,657],{"emptyLinePlaceholder":656},[374,3376,3377,3380,3383,3385,3388,3390,3392],{"class":376,"line":410},[374,3378,3379],{"class":596},"const",[374,3381,3382],{"class":387}," count",[374,3384,778],{"class":596},[374,3386,3387],{"class":668}," ref",[374,3389,696],{"class":380},[374,3391,1146],{"class":387},[374,3393,1180],{"class":380},[374,3395,3396],{"class":376,"line":423},[374,3397,657],{"emptyLinePlaceholder":656},[374,3399,3400,3402,3405],{"class":376,"line":436},[374,3401,750],{"class":596},[374,3403,3404],{"class":668}," increment",[374,3406,1501],{"class":380},[374,3408,3409,3412,3415],{"class":376,"line":447},[374,3410,3411],{"class":380},"  count.value",[374,3413,3414],{"class":596},"++",[374,3416,609],{"class":380},[374,3418,3419],{"class":376,"line":453},[374,3420,559],{"class":380},[374,3422,3423,3425,3427],{"class":376,"line":461},[374,3424,930],{"class":380},[374,3426,887],{"class":886},[374,3428,902],{"class":380},[374,3430,3431],{"class":376,"line":474},[374,3432,657],{"emptyLinePlaceholder":656},[374,3434,3435,3437,3439],{"class":376,"line":487},[374,3436,883],{"class":380},[374,3438,945],{"class":886},[374,3440,902],{"class":380},[374,3442,3443,3445,3447],{"class":376,"line":500},[374,3444,952],{"class":380},[374,3446,1598],{"class":886},[374,3448,902],{"class":380},[374,3450,3451,3453,3455,3457,3459,3462],{"class":376,"line":513},[374,3452,962],{"class":380},[374,3454,3274],{"class":886},[374,3456,3277],{"class":668},[374,3458,896],{"class":380},[374,3460,3461],{"class":394},"\"hero\"",[374,3463,902],{"class":380},[374,3465,3466,3468,3470,3473,3475],{"class":376,"line":526},[374,3467,972],{"class":380},[374,3469,2903],{"class":886},[374,3471,3472],{"class":380},">Vue Router Custom Framework\u003C/",[374,3474,2903],{"class":886},[374,3476,902],{"class":380},[374,3478,3479,3481,3483,3485,3487,3490,3493,3495],{"class":376,"line":539},[374,3480,972],{"class":380},[374,3482,3291],{"class":886},[374,3484,3277],{"class":668},[374,3486,896],{"class":380},[374,3488,3489],{"class":394},"\"subtitle\"",[374,3491,3492],{"class":380},">A simple demo app with Vite\u003C/",[374,3494,3291],{"class":886},[374,3496,902],{"class":380},[374,3498,3499,3501,3503],{"class":376,"line":550},[374,3500,1065],{"class":380},[374,3502,3274],{"class":886},[374,3504,902],{"class":380},[374,3506,3507],{"class":376,"line":556},[374,3508,657],{"emptyLinePlaceholder":656},[374,3510,3511,3513,3515,3517,3519,3522],{"class":376,"line":869},[374,3512,962],{"class":380},[374,3514,3274],{"class":886},[374,3516,3277],{"class":668},[374,3518,896],{"class":380},[374,3520,3521],{"class":394},"\"card counter-card\"",[374,3523,902],{"class":380},[374,3525,3526,3528,3530,3533,3535],{"class":376,"line":1099},[374,3527,972],{"class":380},[374,3529,3291],{"class":886},[374,3531,3532],{"class":380},">Count: {{ count }}\u003C/",[374,3534,3291],{"class":886},[374,3536,902],{"class":380},[374,3538,3539,3541,3543,3546,3548,3551,3554,3556],{"class":376,"line":1104},[374,3540,972],{"class":380},[374,3542,3050],{"class":886},[374,3544,3545],{"class":668}," @click",[374,3547,896],{"class":380},[374,3549,3550],{"class":394},"\"increment\"",[374,3552,3553],{"class":380},">Increment\u003C/",[374,3555,3050],{"class":886},[374,3557,902],{"class":380},[374,3559,3560,3562,3564],{"class":376,"line":1117},[374,3561,1065],{"class":380},[374,3563,3274],{"class":886},[374,3565,902],{"class":380},[374,3567,3568,3570,3572],{"class":376,"line":1125},[374,3569,1074],{"class":380},[374,3571,1598],{"class":886},[374,3573,902],{"class":380},[374,3575,3576,3578,3580],{"class":376,"line":1138},[374,3577,930],{"class":380},[374,3579,945],{"class":886},[374,3581,902],{"class":380},[374,3583,3584],{"class":376,"line":1183},[374,3585,657],{"emptyLinePlaceholder":656},[374,3587,3588,3590,3592,3594],{"class":376,"line":1198},[374,3589,883],{"class":380},[374,3591,1109],{"class":886},[374,3593,1112],{"class":668},[374,3595,902],{"class":380},[374,3597,3598,3601],{"class":376,"line":1203},[374,3599,3600],{"class":668},".hero",[374,3602,1122],{"class":380},[374,3604,3605,3608,3610,3613],{"class":376,"line":1208},[374,3606,3607],{"class":387},"  text-align",[374,3609,391],{"class":380},[374,3611,3612],{"class":387},"center",[374,3614,609],{"class":380},[374,3616,3617,3619,3621,3623,3625],{"class":376,"line":1218},[374,3618,2924],{"class":387},[374,3620,391],{"class":380},[374,3622,1275],{"class":387},[374,3624,1193],{"class":596},[374,3626,609],{"class":380},[374,3628,3629],{"class":376,"line":1231},[374,3630,559],{"class":380},[374,3632,3633],{"class":376,"line":1243},[374,3634,657],{"emptyLinePlaceholder":656},[374,3636,3637,3639,3642],{"class":376,"line":1254},[374,3638,3600],{"class":668},[374,3640,3641],{"class":886}," h1",[374,3643,1122],{"class":380},[374,3645,3646,3648,3650,3652,3654,3657,3659,3662,3664,3667],{"class":376,"line":1267},[374,3647,1334],{"class":387},[374,3649,391],{"class":380},[374,3651,3061],{"class":387},[374,3653,696],{"class":380},[374,3655,3656],{"class":387},"100",[374,3658,761],{"class":380},[374,3660,3661],{"class":387},"108",[374,3663,761],{"class":380},[374,3665,3666],{"class":387},"255",[374,3668,1180],{"class":380},[374,3670,3671],{"class":376,"line":1282},[374,3672,559],{"class":380},[374,3674,3675],{"class":376,"line":1297},[374,3676,657],{"emptyLinePlaceholder":656},[374,3678,3679,3682],{"class":376,"line":1311},[374,3680,3681],{"class":668},".counter-card",[374,3683,1122],{"class":380},[374,3685,3686,3688,3690,3692],{"class":376,"line":1316},[374,3687,3607],{"class":387},[374,3689,391],{"class":380},[374,3691,3612],{"class":387},[374,3693,609],{"class":380},[374,3695,3696],{"class":376,"line":1321},[374,3697,559],{"class":380},[374,3699,3700],{"class":376,"line":1331},[374,3701,657],{"emptyLinePlaceholder":656},[374,3703,3704,3706,3709],{"class":376,"line":1344},[374,3705,3681],{"class":668},[374,3707,3708],{"class":886}," h2",[374,3710,1122],{"class":380},[374,3712,3713,3715,3717,3719],{"class":376,"line":1356},[374,3714,1334],{"class":387},[374,3716,391],{"class":380},[374,3718,1419],{"class":387},[374,3720,609],{"class":380},[374,3722,3723,3725,3727,3729,3731],{"class":376,"line":1361},[374,3724,2924],{"class":387},[374,3726,391],{"class":380},[374,3728,822],{"class":387},[374,3730,1193],{"class":596},[374,3732,609],{"class":380},[374,3734,3735],{"class":376,"line":1366},[374,3736,559],{"class":380},[374,3738,3739],{"class":376,"line":1378},[374,3740,657],{"emptyLinePlaceholder":656},[374,3742,3743,3745,3748],{"class":376,"line":1390},[374,3744,3681],{"class":668},[374,3746,3747],{"class":886}," p",[374,3749,1122],{"class":380},[374,3751,3752,3754,3756,3759,3761],{"class":376,"line":1395},[374,3753,2910],{"class":387},[374,3755,391],{"class":380},[374,3757,3758],{"class":387},"1.5",[374,3760,1193],{"class":596},[374,3762,609],{"class":380},[374,3764,3765,3768,3770,3773],{"class":376,"line":1400},[374,3766,3767],{"class":387},"  font-weight",[374,3769,391],{"class":380},[374,3771,3772],{"class":387},"bold",[374,3774,609],{"class":380},[374,3776,3777,3779,3781,3783,3785,3787],{"class":376,"line":1412},[374,3778,1234],{"class":387},[374,3780,391],{"class":380},[374,3782,822],{"class":387},[374,3784,1193],{"class":596},[374,3786,3035],{"class":387},[374,3788,609],{"class":380},[374,3790,3791],{"class":376,"line":1424},[374,3792,559],{"class":380},[374,3794,3795,3797,3799],{"class":376,"line":1429},[374,3796,930],{"class":380},[374,3798,1109],{"class":886},[374,3800,902],{"class":380},[364,3802,3805],{"className":874,"code":3803,"filename":3804,"language":699,"meta":5,"style":5},"\u003Ctemplate>\n  \u003Cmain>\n    \u003Ch1>Not Found 404\u003C/h1>\n  \u003C/main>\n\u003C/template>\n","app/pages/not-found.vue",[371,3806,3807,3815,3823,3836,3844],{"__ignoreMap":5},[374,3808,3809,3811,3813],{"class":376,"line":377},[374,3810,883],{"class":380},[374,3812,945],{"class":886},[374,3814,902],{"class":380},[374,3816,3817,3819,3821],{"class":376,"line":384},[374,3818,952],{"class":380},[374,3820,1598],{"class":886},[374,3822,902],{"class":380},[374,3824,3825,3827,3829,3832,3834],{"class":376,"line":401},[374,3826,962],{"class":380},[374,3828,2903],{"class":886},[374,3830,3831],{"class":380},">Not Found 404\u003C/",[374,3833,2903],{"class":886},[374,3835,902],{"class":380},[374,3837,3838,3840,3842],{"class":376,"line":410},[374,3839,1074],{"class":380},[374,3841,1598],{"class":886},[374,3843,902],{"class":380},[374,3845,3846,3848,3850],{"class":376,"line":423},[374,3847,930],{"class":380},[374,3849,945],{"class":886},[374,3851,902],{"class":380},[3291,3853,3854],{},"Set up server-side rendering (SSR) with Vue, Vue Router, Vite, and Nitro. This setup enables per-route code splitting, head management with unhead, and client hydration.",[3856,3857,3859],"h2",{"id":3858},"overview","Overview",[3861,3862,3863,3867,3870,3873,3876],"steps",{"level":3124},[3864,3865,3866],"h4",{},"Add the Nitro Vite plugin to your Vite config",[3864,3868,3869],{},"Define routes with lazy-loaded components",[3864,3871,3872],{},"Create a server entry that renders your app with router support",[3864,3874,3875],{},"Create a client entry that hydrates and takes over routing",[3864,3877,3878],{},"Create page components",[3856,3880,3882],{"id":3881},"_1-configure-vite","1. Configure Vite",[3291,3884,3885,3886,3889,3890,3893],{},"Add the Nitro and Vue plugins to your Vite config. Define both ",[371,3887,3888],{},"client"," and ",[371,3891,3892],{},"ssr"," environments:",[364,3895,3897],{"className":586,"code":3896,"filename":588,"language":589,"meta":5,"style":5},"import vue from \"@vitejs/plugin-vue\";\nimport { defineConfig } from \"vite\";\nimport devtoolsJson from \"vite-plugin-devtools-json\";\nimport { nitro } from \"nitro/vite\";\n\nexport default defineConfig((_env) => ({\n  plugins: [patchVueExclude(vue(), /\\?assets/), devtoolsJson(), nitro()],\n  environments: {\n    client: { build: { rollupOptions: { input: \"./app/entry-client.ts\" } } },\n    ssr: { build: { rollupOptions: { input: \"./app/entry-server.ts\" } } },\n  },\n}));\n\n// Workaround https://github.com/vitejs/vite-plugin-vue/issues/677\nfunction patchVueExclude(plugin, exclude) {\n  const original = plugin.transform.handler;\n  plugin.transform.handler = function (...args) {\n    if (exclude.test(args[1])) return;\n    return original.call(this, ...args);\n  };\n  return plugin;\n}\n",[371,3898,3899,3911,3923,3935,3947,3951,3969,3999,4004,4015,4025,4029,4033,4037,4041,4057,4067,4085,4103,4121,4125,4131],{"__ignoreMap":5},[374,3900,3901,3903,3905,3907,3909],{"class":376,"line":377},[374,3902,597],{"class":596},[374,3904,600],{"class":380},[374,3906,603],{"class":596},[374,3908,606],{"class":394},[374,3910,609],{"class":380},[374,3912,3913,3915,3917,3919,3921],{"class":376,"line":384},[374,3914,597],{"class":596},[374,3916,616],{"class":380},[374,3918,603],{"class":596},[374,3920,621],{"class":394},[374,3922,609],{"class":380},[374,3924,3925,3927,3929,3931,3933],{"class":376,"line":401},[374,3926,597],{"class":596},[374,3928,630],{"class":380},[374,3930,603],{"class":596},[374,3932,635],{"class":394},[374,3934,609],{"class":380},[374,3936,3937,3939,3941,3943,3945],{"class":376,"line":410},[374,3938,597],{"class":596},[374,3940,644],{"class":380},[374,3942,603],{"class":596},[374,3944,649],{"class":394},[374,3946,609],{"class":380},[374,3948,3949],{"class":376,"line":423},[374,3950,657],{"emptyLinePlaceholder":656},[374,3952,3953,3955,3957,3959,3961,3963,3965,3967],{"class":376,"line":436},[374,3954,662],{"class":596},[374,3956,665],{"class":596},[374,3958,669],{"class":668},[374,3960,672],{"class":380},[374,3962,676],{"class":675},[374,3964,679],{"class":380},[374,3966,682],{"class":596},[374,3968,685],{"class":380},[374,3970,3971,3973,3975,3977,3979,3981,3983,3985,3987,3989,3991,3993,3995,3997],{"class":376,"line":447},[374,3972,690],{"class":380},[374,3974,693],{"class":668},[374,3976,696],{"class":380},[374,3978,699],{"class":668},[374,3980,702],{"class":380},[374,3982,705],{"class":394},[374,3984,709],{"class":708},[374,3986,713],{"class":712},[374,3988,222],{"class":394},[374,3990,718],{"class":380},[374,3992,721],{"class":668},[374,3994,724],{"class":380},[374,3996,727],{"class":668},[374,3998,730],{"class":380},[374,4000,4001],{"class":376,"line":453},[374,4002,4003],{"class":380},"  environments: {\n",[374,4005,4006,4009,4012],{"class":376,"line":461},[374,4007,4008],{"class":380},"    client: { build: { rollupOptions: { input: ",[374,4010,4011],{"class":394},"\"./app/entry-client.ts\"",[374,4013,4014],{"class":380}," } } },\n",[374,4016,4017,4020,4023],{"class":376,"line":474},[374,4018,4019],{"class":380},"    ssr: { build: { rollupOptions: { input: ",[374,4021,4022],{"class":394},"\"./app/entry-server.ts\"",[374,4024,4014],{"class":380},[374,4026,4027],{"class":376,"line":487},[374,4028,450],{"class":380},[374,4030,4031],{"class":376,"line":500},[374,4032,735],{"class":380},[374,4034,4035],{"class":376,"line":513},[374,4036,657],{"emptyLinePlaceholder":656},[374,4038,4039],{"class":376,"line":526},[374,4040,745],{"class":744},[374,4042,4043,4045,4047,4049,4051,4053,4055],{"class":376,"line":539},[374,4044,750],{"class":596},[374,4046,753],{"class":668},[374,4048,696],{"class":380},[374,4050,758],{"class":675},[374,4052,761],{"class":380},[374,4054,764],{"class":675},[374,4056,767],{"class":380},[374,4058,4059,4061,4063,4065],{"class":376,"line":550},[374,4060,772],{"class":596},[374,4062,775],{"class":387},[374,4064,778],{"class":596},[374,4066,781],{"class":380},[374,4068,4069,4071,4073,4075,4077,4079,4081,4083],{"class":376,"line":556},[374,4070,786],{"class":380},[374,4072,789],{"class":668},[374,4074,778],{"class":596},[374,4076,794],{"class":596},[374,4078,797],{"class":380},[374,4080,800],{"class":596},[374,4082,803],{"class":675},[374,4084,767],{"class":380},[374,4086,4087,4089,4091,4093,4095,4097,4099,4101],{"class":376,"line":869},[374,4088,810],{"class":596},[374,4090,813],{"class":380},[374,4092,816],{"class":668},[374,4094,819],{"class":380},[374,4096,822],{"class":387},[374,4098,825],{"class":380},[374,4100,828],{"class":596},[374,4102,609],{"class":380},[374,4104,4105,4107,4109,4111,4113,4115,4117,4119],{"class":376,"line":1099},[374,4106,835],{"class":596},[374,4108,838],{"class":380},[374,4110,841],{"class":668},[374,4112,696],{"class":380},[374,4114,846],{"class":387},[374,4116,761],{"class":380},[374,4118,800],{"class":596},[374,4120,853],{"class":380},[374,4122,4123],{"class":376,"line":1104},[374,4124,858],{"class":380},[374,4126,4127,4129],{"class":376,"line":1117},[374,4128,863],{"class":596},[374,4130,866],{"class":380},[374,4132,4133],{"class":376,"line":1125},[374,4134,559],{"class":380},[3291,4136,4137,4138,4140,4141,4144],{},"The ",[371,4139,693],{}," helper prevents the Vue plugin from processing asset imports (files with ",[371,4142,4143],{},"?assets"," query parameter).",[3856,4146,4148],{"id":4147},"_2-define-routes","2. Define Routes",[3291,4150,4151],{},"Create route definitions with lazy-loaded components and asset metadata:",[364,4153,4154],{"className":1438,"code":2328,"filename":2329,"language":1441,"meta":5,"style":5},[371,4155,4156,4170,4174,4192,4196,4204,4212,4228,4232,4248,4252,4256,4260,4268,4276,4292,4296,4312,4316,4320,4324,4332,4340,4356,4360,4376,4380,4384,4388,4396,4404,4420,4424,4440,4444,4448,4452,4456],{"__ignoreMap":5},[374,4157,4158,4160,4162,4164,4166,4168],{"class":376,"line":377},[374,4159,597],{"class":596},[374,4161,2338],{"class":596},[374,4163,2341],{"class":380},[374,4165,603],{"class":596},[374,4167,914],{"class":394},[374,4169,609],{"class":380},[374,4171,4172],{"class":376,"line":384},[374,4173,657],{"emptyLinePlaceholder":656},[374,4175,4176,4178,4180,4182,4184,4186,4188,4190],{"class":376,"line":401},[374,4177,662],{"class":596},[374,4179,2358],{"class":596},[374,4181,2361],{"class":387},[374,4183,1713],{"class":596},[374,4185,2366],{"class":668},[374,4187,2369],{"class":380},[374,4189,896],{"class":596},[374,4191,2374],{"class":380},[374,4193,4194],{"class":376,"line":410},[374,4195,2379],{"class":380},[374,4197,4198,4200,4202],{"class":376,"line":423},[374,4199,2384],{"class":380},[374,4201,993],{"class":394},[374,4203,398],{"class":380},[374,4205,4206,4208,4210],{"class":376,"line":436},[374,4207,2393],{"class":380},[374,4209,2396],{"class":394},[374,4211,398],{"class":380},[374,4213,4214,4216,4218,4220,4222,4224,4226],{"class":376,"line":447},[374,4215,2403],{"class":668},[374,4217,2406],{"class":380},[374,4219,682],{"class":596},[374,4221,2411],{"class":596},[374,4223,696],{"class":380},[374,4225,2416],{"class":394},[374,4227,2419],{"class":380},[374,4229,4230],{"class":376,"line":453},[374,4231,2424],{"class":380},[374,4233,4234,4236,4238,4240,4242,4244,4246],{"class":376,"line":461},[374,4235,2429],{"class":668},[374,4237,2406],{"class":380},[374,4239,682],{"class":596},[374,4241,2411],{"class":596},[374,4243,696],{"class":380},[374,4245,2440],{"class":394},[374,4247,2419],{"class":380},[374,4249,4250],{"class":376,"line":474},[374,4251,2447],{"class":380},[374,4253,4254],{"class":376,"line":487},[374,4255,2452],{"class":380},[374,4257,4258],{"class":376,"line":500},[374,4259,2457],{"class":380},[374,4261,4262,4264,4266],{"class":376,"line":513},[374,4263,2462],{"class":380},[374,4265,993],{"class":394},[374,4267,398],{"class":380},[374,4269,4270,4272,4274],{"class":376,"line":526},[374,4271,2471],{"class":380},[374,4273,2474],{"class":394},[374,4275,398],{"class":380},[374,4277,4278,4280,4282,4284,4286,4288,4290],{"class":376,"line":539},[374,4279,2481],{"class":668},[374,4281,2406],{"class":380},[374,4283,682],{"class":596},[374,4285,2411],{"class":596},[374,4287,696],{"class":380},[374,4289,2492],{"class":394},[374,4291,2419],{"class":380},[374,4293,4294],{"class":376,"line":550},[374,4295,2499],{"class":380},[374,4297,4298,4300,4302,4304,4306,4308,4310],{"class":376,"line":556},[374,4299,2504],{"class":668},[374,4301,2406],{"class":380},[374,4303,682],{"class":596},[374,4305,2411],{"class":596},[374,4307,696],{"class":380},[374,4309,2515],{"class":394},[374,4311,2419],{"class":380},[374,4313,4314],{"class":376,"line":869},[374,4315,2522],{"class":380},[374,4317,4318],{"class":376,"line":1099},[374,4319,2527],{"class":380},[374,4321,4322],{"class":376,"line":1104},[374,4323,2457],{"class":380},[374,4325,4326,4328,4330],{"class":376,"line":1117},[374,4327,2462],{"class":380},[374,4329,1038],{"class":394},[374,4331,398],{"class":380},[374,4333,4334,4336,4338],{"class":376,"line":1125},[374,4335,2471],{"class":380},[374,4337,2546],{"class":394},[374,4339,398],{"class":380},[374,4341,4342,4344,4346,4348,4350,4352,4354],{"class":376,"line":1138},[374,4343,2481],{"class":668},[374,4345,2406],{"class":380},[374,4347,682],{"class":596},[374,4349,2411],{"class":596},[374,4351,696],{"class":380},[374,4353,2563],{"class":394},[374,4355,2419],{"class":380},[374,4357,4358],{"class":376,"line":1183},[374,4359,2499],{"class":380},[374,4361,4362,4364,4366,4368,4370,4372,4374],{"class":376,"line":1198},[374,4363,2504],{"class":668},[374,4365,2406],{"class":380},[374,4367,682],{"class":596},[374,4369,2411],{"class":596},[374,4371,696],{"class":380},[374,4373,2584],{"class":394},[374,4375,2419],{"class":380},[374,4377,4378],{"class":376,"line":1203},[374,4379,2522],{"class":380},[374,4381,4382],{"class":376,"line":1208},[374,4383,2527],{"class":380},[374,4385,4386],{"class":376,"line":1218},[374,4387,2457],{"class":380},[374,4389,4390,4392,4394],{"class":376,"line":1231},[374,4391,2462],{"class":380},[374,4393,2605],{"class":394},[374,4395,398],{"class":380},[374,4397,4398,4400,4402],{"class":376,"line":1243},[374,4399,2471],{"class":380},[374,4401,2614],{"class":394},[374,4403,398],{"class":380},[374,4405,4406,4408,4410,4412,4414,4416,4418],{"class":376,"line":1254},[374,4407,2481],{"class":668},[374,4409,2406],{"class":380},[374,4411,682],{"class":596},[374,4413,2411],{"class":596},[374,4415,696],{"class":380},[374,4417,2631],{"class":394},[374,4419,2419],{"class":380},[374,4421,4422],{"class":376,"line":1267},[374,4423,2499],{"class":380},[374,4425,4426,4428,4430,4432,4434,4436,4438],{"class":376,"line":1282},[374,4427,2504],{"class":668},[374,4429,2406],{"class":380},[374,4431,682],{"class":596},[374,4433,2411],{"class":596},[374,4435,696],{"class":380},[374,4437,2652],{"class":394},[374,4439,2419],{"class":380},[374,4441,4442],{"class":376,"line":1297},[374,4443,2522],{"class":380},[374,4445,4446],{"class":376,"line":1311},[374,4447,2527],{"class":380},[374,4449,4450],{"class":376,"line":1316},[374,4451,2083],{"class":380},[374,4453,4454],{"class":376,"line":1321},[374,4455,450],{"class":380},[374,4457,4458],{"class":376,"line":1331},[374,4459,2675],{"class":380},[3291,4461,4462,4463,4466],{},"Use dynamic imports for lazy-loaded components to enable code splitting. The ",[371,4464,4465],{},"meta.assets"," function loads route-specific CSS and JS chunks. Define child routes under a root layout component for nested routing.",[3856,4468,4470],{"id":4469},"_3-create-the-server-entry","3. Create the Server Entry",[3291,4472,4473],{},"The server entry renders your Vue app with router support and head management:",[364,4475,4476],{"className":1438,"code":1603,"filename":362,"language":1441,"meta":5,"style":5},[371,4477,4478,4490,4502,4514,4526,4530,4542,4546,4558,4562,4590,4602,4618,4626,4630,4644,4662,4666,4676,4686,4690,4704,4720,4724,4740,4748,4786,4790,4794,4798,4810,4814,4822,4826,4856,4886,4890,4898,4902,4906,4920,4924,4942,4946,4956,4968,4972,4976,4980,5002,5010,5014,5018,5022,5026,5030,5034,5038,5046,5050,5056,5060,5064,5072,5076],{"__ignoreMap":5},[374,4479,4480,4482,4484,4486,4488],{"class":376,"line":377},[374,4481,597],{"class":596},[374,4483,1450],{"class":380},[374,4485,603],{"class":596},[374,4487,1455],{"class":394},[374,4489,609],{"class":380},[374,4491,4492,4494,4496,4498,4500],{"class":376,"line":384},[374,4493,597],{"class":596},[374,4495,1624],{"class":380},[374,4497,603],{"class":596},[374,4499,1629],{"class":394},[374,4501,609],{"class":380},[374,4503,4504,4506,4508,4510,4512],{"class":376,"line":401},[374,4505,597],{"class":596},[374,4507,1638],{"class":380},[374,4509,603],{"class":596},[374,4511,914],{"class":394},[374,4513,609],{"class":380},[374,4515,4516,4518,4520,4522,4524],{"class":376,"line":410},[374,4517,597],{"class":596},[374,4519,1651],{"class":380},[374,4521,603],{"class":596},[374,4523,1656],{"class":394},[374,4525,609],{"class":380},[374,4527,4528],{"class":376,"line":423},[374,4529,657],{"emptyLinePlaceholder":656},[374,4531,4532,4534,4536,4538,4540],{"class":376,"line":436},[374,4533,597],{"class":596},[374,4535,1477],{"class":380},[374,4537,603],{"class":596},[374,4539,1482],{"class":394},[374,4541,609],{"class":380},[374,4543,4544],{"class":376,"line":447},[374,4545,657],{"emptyLinePlaceholder":656},[374,4547,4548,4550,4552,4554,4556],{"class":376,"line":453},[374,4549,597],{"class":596},[374,4551,1685],{"class":380},[374,4553,603],{"class":596},[374,4555,1690],{"class":394},[374,4557,609],{"class":380},[374,4559,4560],{"class":376,"line":461},[374,4561,657],{"emptyLinePlaceholder":656},[374,4563,4564,4566,4568,4570,4572,4574,4576,4578,4580,4582,4584,4586,4588],{"class":376,"line":474},[374,4565,1493],{"class":596},[374,4567,794],{"class":596},[374,4569,1705],{"class":668},[374,4571,696],{"class":380},[374,4573,1710],{"class":675},[374,4575,1713],{"class":596},[374,4577,1716],{"class":668},[374,4579,1719],{"class":380},[374,4581,1713],{"class":596},[374,4583,1724],{"class":668},[374,4585,883],{"class":380},[374,4587,1729],{"class":668},[374,4589,1732],{"class":380},[374,4591,4592,4594,4596,4598,4600],{"class":376,"line":487},[374,4593,772],{"class":596},[374,4595,1508],{"class":387},[374,4597,778],{"class":596},[374,4599,1513],{"class":668},[374,4601,1516],{"class":380},[374,4603,4604,4606,4608,4610,4612,4614,4616],{"class":376,"line":500},[374,4605,772],{"class":596},[374,4607,1523],{"class":387},[374,4609,778],{"class":596},[374,4611,1528],{"class":668},[374,4613,1531],{"class":380},[374,4615,1759],{"class":668},[374,4617,1537],{"class":380},[374,4619,4620,4622,4624],{"class":376,"line":513},[374,4621,1542],{"class":380},[374,4623,1545],{"class":668},[374,4625,1548],{"class":380},[374,4627,4628],{"class":376,"line":526},[374,4629,657],{"emptyLinePlaceholder":656},[374,4631,4632,4634,4636,4638,4640,4642],{"class":376,"line":539},[374,4633,772],{"class":596},[374,4635,1780],{"class":387},[374,4637,778],{"class":596},[374,4639,1785],{"class":596},[374,4641,1788],{"class":668},[374,4643,1791],{"class":380},[374,4645,4646,4648,4650,4652,4654,4656,4658,4660],{"class":376,"line":550},[374,4647,772],{"class":596},[374,4649,1798],{"class":387},[374,4651,778],{"class":596},[374,4653,1803],{"class":380},[374,4655,1806],{"class":668},[374,4657,1809],{"class":380},[374,4659,1812],{"class":387},[374,4661,1180],{"class":380},[374,4663,4664],{"class":376,"line":556},[374,4665,657],{"emptyLinePlaceholder":656},[374,4667,4668,4670,4672,4674],{"class":376,"line":869},[374,4669,1557],{"class":596},[374,4671,1560],{"class":380},[374,4673,1827],{"class":668},[374,4675,1830],{"class":380},[374,4677,4678,4680,4682,4684],{"class":376,"line":1099},[374,4679,1557],{"class":596},[374,4681,1560],{"class":380},[374,4683,1563],{"class":668},[374,4685,1566],{"class":380},[374,4687,4688],{"class":376,"line":1104},[374,4689,657],{"emptyLinePlaceholder":656},[374,4691,4692,4694,4696,4698,4700,4702],{"class":376,"line":1117},[374,4693,772],{"class":596},[374,4695,1851],{"class":387},[374,4697,778],{"class":596},[374,4699,1856],{"class":380},[374,4701,1859],{"class":668},[374,4703,1862],{"class":380},[374,4705,4706,4708,4710,4712,4714,4716,4718],{"class":376,"line":1125},[374,4707,1867],{"class":596},[374,4709,696],{"class":380},[374,4711,1872],{"class":596},[374,4713,1724],{"class":387},[374,4715,1877],{"class":380},[374,4717,1880],{"class":668},[374,4719,1862],{"class":380},[374,4721,4722],{"class":376,"line":1138},[374,4723,1887],{"class":380},[374,4725,4726,4728,4730,4732,4734,4736,4738],{"class":376,"line":1183},[374,4727,1892],{"class":380},[374,4729,1895],{"class":668},[374,4731,672],{"class":380},[374,4733,1900],{"class":675},[374,4735,679],{"class":380},[374,4737,682],{"class":596},[374,4739,1907],{"class":380},[374,4741,4742,4744,4746],{"class":376,"line":1198},[374,4743,1892],{"class":380},[374,4745,1914],{"class":668},[374,4747,1917],{"class":380},[374,4749,4750,4752,4754,4756,4758,4760,4762,4764,4766,4768,4770,4772,4774,4776,4778,4780,4782,4784],{"class":376,"line":1203},[374,4751,1892],{"class":380},[374,4753,1895],{"class":668},[374,4755,672],{"class":380},[374,4757,1928],{"class":675},[374,4759,679],{"class":380},[374,4761,682],{"class":596},[374,4763,1935],{"class":380},[374,4765,1938],{"class":596},[374,4767,1941],{"class":387},[374,4769,1944],{"class":380},[374,4771,1947],{"class":668},[374,4773,672],{"class":380},[374,4775,1952],{"class":675},[374,4777,1713],{"class":596},[374,4779,1941],{"class":387},[374,4781,679],{"class":380},[374,4783,682],{"class":596},[374,4785,1963],{"class":380},[374,4787,4788],{"class":376,"line":1208},[374,4789,1968],{"class":380},[374,4791,4792],{"class":376,"line":1218},[374,4793,1973],{"class":380},[374,4795,4796],{"class":376,"line":1231},[374,4797,657],{"emptyLinePlaceholder":656},[374,4799,4800,4802,4804,4806,4808],{"class":376,"line":1243},[374,4801,772],{"class":596},[374,4803,1984],{"class":387},[374,4805,778],{"class":596},[374,4807,1989],{"class":668},[374,4809,1566],{"class":380},[374,4811,4812],{"class":376,"line":1254},[374,4813,657],{"emptyLinePlaceholder":656},[374,4815,4816,4818,4820],{"class":376,"line":1267},[374,4817,2000],{"class":380},[374,4819,1827],{"class":668},[374,4821,2005],{"class":380},[374,4823,4824],{"class":376,"line":1282},[374,4825,2010],{"class":380},[374,4827,4828,4830,4832,4834,4836,4838,4840,4842,4844,4846,4848,4850,4852,4854],{"class":376,"line":1297},[374,4829,2015],{"class":596},[374,4831,2018],{"class":380},[374,4833,1895],{"class":668},[374,4835,672],{"class":380},[374,4837,2025],{"class":675},[374,4839,1713],{"class":596},[374,4841,1941],{"class":387},[374,4843,679],{"class":380},[374,4845,682],{"class":596},[374,4847,2036],{"class":380},[374,4849,2039],{"class":394},[374,4851,761],{"class":380},[374,4853,800],{"class":596},[374,4855,2046],{"class":380},[374,4857,4858,4860,4862,4864,4866,4868,4870,4872,4874,4876,4878,4880,4882,4884],{"class":376,"line":1311},[374,4859,2015],{"class":596},[374,4861,2053],{"class":380},[374,4863,1895],{"class":668},[374,4865,672],{"class":380},[374,4867,2025],{"class":675},[374,4869,1713],{"class":596},[374,4871,1941],{"class":387},[374,4873,679],{"class":380},[374,4875,682],{"class":596},[374,4877,2036],{"class":380},[374,4879,2072],{"class":394},[374,4881,761],{"class":380},[374,4883,800],{"class":596},[374,4885,2046],{"class":380},[374,4887,4888],{"class":376,"line":1316},[374,4889,2083],{"class":380},[374,4891,4892,4894,4896],{"class":376,"line":1321},[374,4893,2088],{"class":380},[374,4895,395],{"class":394},[374,4897,2093],{"class":380},[374,4899,4900],{"class":376,"line":1331},[374,4901,2098],{"class":380},[374,4903,4904],{"class":376,"line":1344},[374,4905,657],{"emptyLinePlaceholder":656},[374,4907,4908,4910,4912,4914,4916,4918],{"class":376,"line":1356},[374,4909,772],{"class":596},[374,4911,2109],{"class":387},[374,4913,778],{"class":596},[374,4915,2114],{"class":596},[374,4917,2117],{"class":668},[374,4919,2120],{"class":380},[374,4921,4922],{"class":376,"line":1361},[374,4923,657],{"emptyLinePlaceholder":656},[374,4925,4926,4928,4930,4932,4934,4936,4938,4940],{"class":376,"line":1366},[374,4927,772],{"class":596},[374,4929,2131],{"class":387},[374,4931,778],{"class":596},[374,4933,2114],{"class":596},[374,4935,2138],{"class":668},[374,4937,2141],{"class":380},[374,4939,2144],{"class":668},[374,4941,2147],{"class":380},[374,4943,4944],{"class":376,"line":1378},[374,4945,657],{"emptyLinePlaceholder":656},[374,4947,4948,4950,4952,4954],{"class":376,"line":1390},[374,4949,863],{"class":596},[374,4951,1785],{"class":596},[374,4953,2160],{"class":668},[374,4955,2163],{"class":380},[374,4957,4958,4960,4962,4964,4966],{"class":376,"line":1395},[374,4959,2168],{"class":380},[374,4961,2171],{"class":394},[374,4963,391],{"class":380},[374,4965,2176],{"class":394},[374,4967,2179],{"class":380},[374,4969,4970],{"class":376,"line":1400},[374,4971,2098],{"class":380},[374,4973,4974],{"class":376,"line":1412},[374,4975,559],{"class":380},[374,4977,4978],{"class":376,"line":1424},[374,4979,657],{"emptyLinePlaceholder":656},[374,4981,4982,4984,4986,4988,4990,4992,4994,4996,4998,5000],{"class":376,"line":1429},[374,4983,750],{"class":596},[374,4985,2198],{"class":668},[374,4987,696],{"class":380},[374,4989,2203],{"class":675},[374,4991,1713],{"class":596},[374,4993,2208],{"class":387},[374,4995,1719],{"class":380},[374,4997,1713],{"class":596},[374,4999,2208],{"class":387},[374,5001,1122],{"class":380},[374,5003,5004,5006,5008],{"class":376,"line":2219},[374,5005,863],{"class":596},[374,5007,2224],{"class":744},[374,5009,2227],{"class":394},[374,5011,5012],{"class":376,"line":2230},[374,5013,2233],{"class":394},[374,5015,5016],{"class":376,"line":2236},[374,5017,2239],{"class":394},[374,5019,5020],{"class":376,"line":2242},[374,5021,2245],{"class":394},[374,5023,5024],{"class":376,"line":2248},[374,5025,2251],{"class":394},[374,5027,5028],{"class":376,"line":2254},[374,5029,2257],{"class":394},[374,5031,5032],{"class":376,"line":2260},[374,5033,2263],{"class":394},[374,5035,5036],{"class":376,"line":2266},[374,5037,2269],{"class":394},[374,5039,5040,5042,5044],{"class":376,"line":2272},[374,5041,2275],{"class":394},[374,5043,2203],{"class":380},[374,5045,2280],{"class":394},[374,5047,5048],{"class":376,"line":2283},[374,5049,2286],{"class":394},[374,5051,5052,5054],{"class":376,"line":2289},[374,5053,2292],{"class":394},[374,5055,609],{"class":380},[374,5057,5058],{"class":376,"line":2297},[374,5059,559],{"class":380},[374,5061,5062],{"class":376,"line":2302},[374,5063,657],{"emptyLinePlaceholder":656},[374,5065,5066,5068,5070],{"class":376,"line":2307},[374,5067,662],{"class":596},[374,5069,665],{"class":596},[374,5071,1122],{"class":380},[374,5073,5074],{"class":376,"line":2316},[374,5075,2319],{"class":380},[374,5077,5078],{"class":376,"line":2322},[374,5079,2325],{"class":380},[3291,5081,5082,5083,5086,5087,5090,5091,5094,5095,1877],{},"The server uses ",[371,5084,5085],{},"createMemoryHistory()"," since there's no browser URL bar—the router navigates to the requested URL before rendering. Assets are loaded dynamically based on matched routes, ensuring only the CSS and JS needed for the current page are included. The ",[371,5088,5089],{},"unhead"," library manages ",[371,5092,5093],{},"\u003Chead>"," elements, injecting stylesheets and scripts via ",[371,5096,5097],{},"transformHtmlTemplate",[3856,5099,5101],{"id":5100},"_4-create-the-client-entry","4. Create the Client Entry",[3291,5103,5104],{},"The client entry hydrates the server-rendered HTML and takes over routing:",[364,5106,5107],{"className":1438,"code":1439,"filename":1440,"language":1441,"meta":5,"style":5},[371,5108,5109,5121,5133,5145,5149,5159,5171,5187,5195,5199,5209,5221,5225,5229,5233],{"__ignoreMap":5},[374,5110,5111,5113,5115,5117,5119],{"class":376,"line":377},[374,5112,597],{"class":596},[374,5114,1450],{"class":380},[374,5116,603],{"class":596},[374,5118,1455],{"class":394},[374,5120,609],{"class":380},[374,5122,5123,5125,5127,5129,5131],{"class":376,"line":384},[374,5124,597],{"class":596},[374,5126,1464],{"class":380},[374,5128,603],{"class":596},[374,5130,914],{"class":394},[374,5132,609],{"class":380},[374,5134,5135,5137,5139,5141,5143],{"class":376,"line":401},[374,5136,597],{"class":596},[374,5138,1477],{"class":380},[374,5140,603],{"class":596},[374,5142,1482],{"class":394},[374,5144,609],{"class":380},[374,5146,5147],{"class":376,"line":410},[374,5148,657],{"emptyLinePlaceholder":656},[374,5150,5151,5153,5155,5157],{"class":376,"line":423},[374,5152,1493],{"class":596},[374,5154,794],{"class":596},[374,5156,1498],{"class":668},[374,5158,1501],{"class":380},[374,5160,5161,5163,5165,5167,5169],{"class":376,"line":436},[374,5162,772],{"class":596},[374,5164,1508],{"class":387},[374,5166,778],{"class":596},[374,5168,1513],{"class":668},[374,5170,1516],{"class":380},[374,5172,5173,5175,5177,5179,5181,5183,5185],{"class":376,"line":447},[374,5174,772],{"class":596},[374,5176,1523],{"class":387},[374,5178,778],{"class":596},[374,5180,1528],{"class":668},[374,5182,1531],{"class":380},[374,5184,1534],{"class":668},[374,5186,1537],{"class":380},[374,5188,5189,5191,5193],{"class":376,"line":453},[374,5190,1542],{"class":380},[374,5192,1545],{"class":668},[374,5194,1548],{"class":380},[374,5196,5197],{"class":376,"line":461},[374,5198,657],{"emptyLinePlaceholder":656},[374,5200,5201,5203,5205,5207],{"class":376,"line":474},[374,5202,1557],{"class":596},[374,5204,1560],{"class":380},[374,5206,1563],{"class":668},[374,5208,1566],{"class":380},[374,5210,5211,5213,5215,5217,5219],{"class":376,"line":487},[374,5212,1542],{"class":380},[374,5214,1573],{"class":668},[374,5216,696],{"class":380},[374,5218,1578],{"class":394},[374,5220,1180],{"class":380},[374,5222,5223],{"class":376,"line":500},[374,5224,559],{"class":380},[374,5226,5227],{"class":376,"line":513},[374,5228,657],{"emptyLinePlaceholder":656},[374,5230,5231],{"class":376,"line":526},[374,5232,1593],{"class":744},[374,5234,5235,5237],{"class":376,"line":539},[374,5236,1598],{"class":668},[374,5238,1566],{"class":380},[3291,5240,5241,5242,5245,5246,5249],{},"The client entry creates a Vue app with ",[371,5243,5244],{},"createWebHistory()"," for browser-based routing. After the router is ready, it mounts to the ",[371,5247,5248],{},"#root"," element and hydrates the server-rendered HTML.",[3856,5251,5253],{"id":5252},"_5-create-the-root-component","5. Create the Root Component",[3291,5255,5256],{},"The root component provides navigation and renders child routes:",[364,5258,5259],{"className":874,"code":875,"filename":876,"language":699,"meta":5,"style":5},[371,5260,5261,5277,5289,5297,5305,5309,5317,5325,5333,5341,5365,5373,5381,5405,5413,5421,5429,5437,5445,5449,5459,5465,5475,5511,5523,5527,5531,5539,5549,5559,5569,5579,5591,5603,5615,5619,5623,5631,5641,5651,5655,5659,5669,5679,5683,5687,5697,5707,5711],{"__ignoreMap":5},[374,5262,5263,5265,5267,5269,5271,5273,5275],{"class":376,"line":377},[374,5264,883],{"class":380},[374,5266,887],{"class":886},[374,5268,890],{"class":668},[374,5270,893],{"class":668},[374,5272,896],{"class":380},[374,5274,899],{"class":394},[374,5276,902],{"class":380},[374,5278,5279,5281,5283,5285,5287],{"class":376,"line":384},[374,5280,597],{"class":596},[374,5282,909],{"class":380},[374,5284,603],{"class":596},[374,5286,914],{"class":394},[374,5288,609],{"class":380},[374,5290,5291,5293,5295],{"class":376,"line":401},[374,5292,597],{"class":596},[374,5294,923],{"class":394},[374,5296,609],{"class":380},[374,5298,5299,5301,5303],{"class":376,"line":410},[374,5300,930],{"class":380},[374,5302,887],{"class":886},[374,5304,902],{"class":380},[374,5306,5307],{"class":376,"line":423},[374,5308,657],{"emptyLinePlaceholder":656},[374,5310,5311,5313,5315],{"class":376,"line":436},[374,5312,883],{"class":380},[374,5314,945],{"class":886},[374,5316,902],{"class":380},[374,5318,5319,5321,5323],{"class":376,"line":447},[374,5320,952],{"class":380},[374,5322,955],{"class":886},[374,5324,902],{"class":380},[374,5326,5327,5329,5331],{"class":376,"line":453},[374,5328,962],{"class":380},[374,5330,965],{"class":886},[374,5332,902],{"class":380},[374,5334,5335,5337,5339],{"class":376,"line":461},[374,5336,972],{"class":380},[374,5338,975],{"class":886},[374,5340,902],{"class":380},[374,5342,5343,5345,5347,5349,5351,5353,5355,5357,5359,5361,5363],{"class":376,"line":474},[374,5344,982],{"class":380},[374,5346,985],{"class":886},[374,5348,988],{"class":668},[374,5350,896],{"class":380},[374,5352,993],{"class":394},[374,5354,996],{"class":668},[374,5356,896],{"class":380},[374,5358,1001],{"class":394},[374,5360,1004],{"class":380},[374,5362,985],{"class":886},[374,5364,902],{"class":380},[374,5366,5367,5369,5371],{"class":376,"line":487},[374,5368,1013],{"class":380},[374,5370,975],{"class":886},[374,5372,902],{"class":380},[374,5374,5375,5377,5379],{"class":376,"line":500},[374,5376,972],{"class":380},[374,5378,975],{"class":886},[374,5380,902],{"class":380},[374,5382,5383,5385,5387,5389,5391,5393,5395,5397,5399,5401,5403],{"class":376,"line":513},[374,5384,982],{"class":380},[374,5386,985],{"class":886},[374,5388,988],{"class":668},[374,5390,896],{"class":380},[374,5392,1038],{"class":394},[374,5394,1041],{"class":668},[374,5396,896],{"class":380},[374,5398,1001],{"class":394},[374,5400,1048],{"class":380},[374,5402,985],{"class":886},[374,5404,902],{"class":380},[374,5406,5407,5409,5411],{"class":376,"line":526},[374,5408,1013],{"class":380},[374,5410,975],{"class":886},[374,5412,902],{"class":380},[374,5414,5415,5417,5419],{"class":376,"line":539},[374,5416,1065],{"class":380},[374,5418,965],{"class":886},[374,5420,902],{"class":380},[374,5422,5423,5425,5427],{"class":376,"line":550},[374,5424,1074],{"class":380},[374,5426,955],{"class":886},[374,5428,902],{"class":380},[374,5430,5431,5433,5435],{"class":376,"line":556},[374,5432,952],{"class":380},[374,5434,1085],{"class":886},[374,5436,1088],{"class":380},[374,5438,5439,5441,5443],{"class":376,"line":869},[374,5440,930],{"class":380},[374,5442,945],{"class":886},[374,5444,902],{"class":380},[374,5446,5447],{"class":376,"line":1099},[374,5448,657],{"emptyLinePlaceholder":656},[374,5450,5451,5453,5455,5457],{"class":376,"line":1104},[374,5452,883],{"class":380},[374,5454,1109],{"class":886},[374,5456,1112],{"class":668},[374,5458,902],{"class":380},[374,5460,5461,5463],{"class":376,"line":1117},[374,5462,955],{"class":886},[374,5464,1122],{"class":380},[374,5466,5467,5469,5471,5473],{"class":376,"line":1125},[374,5468,1128],{"class":387},[374,5470,391],{"class":380},[374,5472,1133],{"class":387},[374,5474,609],{"class":380},[374,5476,5477,5479,5481,5483,5485,5487,5489,5491,5493,5495,5497,5499,5501,5503,5505,5507,5509],{"class":376,"line":1138},[374,5478,1141],{"class":387},[374,5480,391],{"class":380},[374,5482,1146],{"class":387},[374,5484,1149],{"class":387},[374,5486,1152],{"class":596},[374,5488,1155],{"class":387},[374,5490,1152],{"class":596},[374,5492,1160],{"class":387},[374,5494,696],{"class":380},[374,5496,1146],{"class":387},[374,5498,761],{"class":380},[374,5500,1146],{"class":387},[374,5502,761],{"class":380},[374,5504,1146],{"class":387},[374,5506,761],{"class":380},[374,5508,1177],{"class":387},[374,5510,1180],{"class":380},[374,5512,5513,5515,5517,5519,5521],{"class":376,"line":1183},[374,5514,1186],{"class":387},[374,5516,391],{"class":380},[374,5518,822],{"class":387},[374,5520,1193],{"class":596},[374,5522,609],{"class":380},[374,5524,5525],{"class":376,"line":1198},[374,5526,559],{"class":380},[374,5528,5529],{"class":376,"line":1203},[374,5530,657],{"emptyLinePlaceholder":656},[374,5532,5533,5535,5537],{"class":376,"line":1208},[374,5534,955],{"class":886},[374,5536,1213],{"class":886},[374,5538,1122],{"class":380},[374,5540,5541,5543,5545,5547],{"class":376,"line":1218},[374,5542,1221],{"class":387},[374,5544,391],{"class":380},[374,5546,1226],{"class":387},[374,5548,609],{"class":380},[374,5550,5551,5553,5555,5557],{"class":376,"line":1231},[374,5552,1234],{"class":387},[374,5554,391],{"class":380},[374,5556,1146],{"class":387},[374,5558,609],{"class":380},[374,5560,5561,5563,5565,5567],{"class":376,"line":1243},[374,5562,1186],{"class":387},[374,5564,391],{"class":380},[374,5566,1146],{"class":387},[374,5568,609],{"class":380},[374,5570,5571,5573,5575,5577],{"class":376,"line":1254},[374,5572,1257],{"class":387},[374,5574,391],{"class":380},[374,5576,1262],{"class":387},[374,5578,609],{"class":380},[374,5580,5581,5583,5585,5587,5589],{"class":376,"line":1267},[374,5582,1270],{"class":387},[374,5584,391],{"class":380},[374,5586,1275],{"class":387},[374,5588,1193],{"class":596},[374,5590,609],{"class":380},[374,5592,5593,5595,5597,5599,5601],{"class":376,"line":1282},[374,5594,1285],{"class":387},[374,5596,391],{"class":380},[374,5598,1290],{"class":387},[374,5600,1152],{"class":596},[374,5602,609],{"class":380},[374,5604,5605,5607,5609,5611,5613],{"class":376,"line":1297},[374,5606,1234],{"class":387},[374,5608,391],{"class":380},[374,5610,1146],{"class":387},[374,5612,1306],{"class":387},[374,5614,609],{"class":380},[374,5616,5617],{"class":376,"line":1311},[374,5618,559],{"class":380},[374,5620,5621],{"class":376,"line":1316},[374,5622,657],{"emptyLinePlaceholder":656},[374,5624,5625,5627,5629],{"class":376,"line":1321},[374,5626,955],{"class":886},[374,5628,1326],{"class":886},[374,5630,1122],{"class":380},[374,5632,5633,5635,5637,5639],{"class":376,"line":1331},[374,5634,1334],{"class":387},[374,5636,391],{"class":380},[374,5638,1339],{"class":387},[374,5640,609],{"class":380},[374,5642,5643,5645,5647,5649],{"class":376,"line":1344},[374,5644,1347],{"class":387},[374,5646,391],{"class":380},[374,5648,1226],{"class":387},[374,5650,609],{"class":380},[374,5652,5653],{"class":376,"line":1356},[374,5654,559],{"class":380},[374,5656,5657],{"class":376,"line":1361},[374,5658,657],{"emptyLinePlaceholder":656},[374,5660,5661,5663,5665,5667],{"class":376,"line":1366},[374,5662,955],{"class":886},[374,5664,1326],{"class":886},[374,5666,1373],{"class":668},[374,5668,1122],{"class":380},[374,5670,5671,5673,5675,5677],{"class":376,"line":1378},[374,5672,1334],{"class":387},[374,5674,391],{"class":380},[374,5676,1385],{"class":387},[374,5678,609],{"class":380},[374,5680,5681],{"class":376,"line":1390},[374,5682,559],{"class":380},[374,5684,5685],{"class":376,"line":1395},[374,5686,657],{"emptyLinePlaceholder":656},[374,5688,5689,5691,5693,5695],{"class":376,"line":1400},[374,5690,955],{"class":886},[374,5692,1326],{"class":886},[374,5694,1407],{"class":668},[374,5696,1122],{"class":380},[374,5698,5699,5701,5703,5705],{"class":376,"line":1412},[374,5700,1334],{"class":387},[374,5702,391],{"class":380},[374,5704,1419],{"class":387},[374,5706,609],{"class":380},[374,5708,5709],{"class":376,"line":1424},[374,5710,559],{"class":380},[374,5712,5713,5715,5717],{"class":376,"line":1429},[374,5714,930],{"class":380},[374,5716,1109],{"class":886},[374,5718,902],{"class":380},[3856,5720,5722],{"id":5721},"learn-more","Learn More",[965,5724,5725,5734,5741,5745],{},[975,5726,5727],{},[5728,5729,5733],"a",{"href":5730,"rel":5731},"https://router.vuejs.org/",[5732],"nofollow","Vue Router Documentation",[975,5735,5736],{},[5728,5737,5740],{"href":5738,"rel":5739},"https://unhead.unjs.io/",[5732],"Unhead Documentation",[975,5742,5743],{},[5728,5744,18],{"href":19},[975,5746,5747],{},[5728,5748,58],{"href":59},[1109,5750,5751],{},"html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}html pre.shiki code .sAxt1, html code.shiki .sAxt1{--shiki-light:#22863A;--shiki-light-font-weight:bold;--shiki-default:#85E89D;--shiki-default-font-weight:bold;--shiki-dark:#85E89D;--shiki-dark-font-weight:bold}html pre.shiki code .sQeJH, html code.shiki .sQeJH{--shiki-light:#032F62;--shiki-default:#DBEDFF;--shiki-dark:#DBEDFF}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sByVh, html code.shiki .sByVh{--shiki-light:#22863A;--shiki-default:#85E89D;--shiki-dark:#85E89D}",{"title":5,"searchDepth":384,"depth":384,"links":5753},[5754,5755,5756,5757,5758,5759,5760],{"id":3858,"depth":384,"text":3859},{"id":3881,"depth":384,"text":3882},{"id":4147,"depth":384,"text":4148},{"id":4469,"depth":384,"text":4470},{"id":5100,"depth":384,"text":5101},{"id":5252,"depth":384,"text":5253},{"id":5721,"depth":384,"text":5722},"md","i-logos-vue",{"automd":656},{},{"title":342,"description":343},"examples/vite-ssr-vue-router/README","PVFR3iUZW-P77Ld6yjLeztf5ib3S17hqM_FSo5onk3c",[5769,5772],{"title":338,"path":5770,"stem":5771,"description":339,"children":-1},"/examples/vite-ssr-tss-react","examples/vite-ssr-tss-react/README",null,1773050455792]