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