[{"data":1,"prerenderedAt":1473},["ShallowReactive",2],{"navigation":3,"examples-nav":228,"-examples-api-routes":357,"-examples-api-routes-surround":1468},[4,83,212,218,225],{"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,208],{"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},"Zephyr Cloud","/deploy/providers/zephyr","2.deploy/20.providers/zephyr",{"title":209,"path":210,"stem":211},"Zerops","/deploy/providers/zerops","2.deploy/20.providers/zerops",{"title":213,"path":214,"stem":215,"children":216,"icon":36},"Config","/config","3.config/0.index",[217],{"title":213,"path":214,"stem":215,"icon":36},{"title":219,"path":220,"stem":221,"children":222,"icon":224},"Examples","/examples","4.examples/0.index",[223],{"title":219,"path":220,"stem":221,"icon":224},"i-lucide-folder-code",{"title":5,"path":226,"stem":227},"/","index",[229,234,239,243,247,250,255,259,263,267,271,275,279,284,288,291,295,299,303,308,312,317,321,325,329,333,337,341,345,349,353],{"title":230,"description":231,"category":232,"path":233},"API Routes","File-based API routing with HTTP method support and dynamic parameters.","features","/examples/api-routes/readme",{"title":235,"description":236,"category":237,"path":238},"Auto Imports","Automatic imports for utilities and composables.","config","/examples/auto-imports/readme",{"title":240,"description":241,"category":232,"path":242},"Cached Handler","Cache route responses with configurable bypass logic.","/examples/cached-handler/readme",{"title":244,"description":245,"category":232,"path":246},"Custom Error Handler","Customize error responses with a global error handler.","/examples/custom-error-handler/readme",{"title":38,"description":248,"category":232,"path":249},"Built-in database support with SQL template literals.","/examples/database/readme",{"title":251,"description":252,"category":253,"path":254},"Elysia","Integrate Elysia with Nitro using the server entry.","backend frameworks","/examples/elysia/readme",{"title":256,"description":257,"category":253,"path":258},"Express","Integrate Express with Nitro using the server entry.","/examples/express/readme",{"title":260,"description":261,"category":253,"path":262},"Fastify","Integrate Fastify with Nitro using the server entry.","/examples/fastify/readme",{"title":264,"description":265,"category":232,"path":266},"Hello World","Minimal Nitro server using the web standard fetch handler.","/examples/hello-world/readme",{"title":268,"description":269,"category":253,"path":270},"Hono","Integrate Hono with Nitro using the server entry.","/examples/hono/readme",{"title":272,"description":273,"category":237,"path":274},"Import Alias","Custom import aliases for cleaner module paths.","/examples/import-alias/readme",{"title":276,"description":277,"category":232,"path":278},"Middleware","Request middleware for authentication, logging, and request modification.","/examples/middleware/readme",{"title":280,"description":281,"category":282,"path":283},"Mono JSX","Server-side JSX rendering in Nitro with mono-jsx.","server side rendering","/examples/mono-jsx/readme",{"title":285,"description":286,"category":282,"path":287},"Nano JSX","Server-side JSX rendering in Nitro with nano-jsx.","/examples/nano-jsx/readme",{"title":48,"description":289,"category":232,"path":290},"Extend Nitro with custom plugins for hooks and lifecycle events.","/examples/plugins/readme",{"title":292,"description":293,"category":282,"path":294},"Custom Renderer","Build a custom HTML renderer in Nitro with server-side data fetching.","/examples/renderer/readme",{"title":296,"description":297,"category":237,"path":298},"Runtime Config","Environment-aware configuration with runtime access.","/examples/runtime-config/readme",{"title":300,"description":301,"category":232,"path":302},"Server Fetch","Internal server-to-server requests without network overhead.","/examples/server-fetch/readme",{"title":304,"description":305,"category":306,"path":307},"Shiki","Server-side syntax highlighting in Nitro with Shiki.","integrations","/examples/shiki/readme",{"title":309,"description":310,"category":232,"path":311},"Virtual Routes","Define routes programmatically using Nitro's virtual module system.","/examples/virtual-routes/readme",{"title":313,"description":314,"category":315,"path":316},"Vite Nitro Plugin","Use Nitro as a Vite plugin for programmatic configuration.","vite","/examples/vite-nitro-plugin/readme",{"title":318,"description":319,"category":315,"path":320},"Vite RSC","React Server Components with Vite and Nitro.","/examples/vite-rsc/readme",{"title":322,"description":323,"category":282,"path":324},"Vite SSR HTML","Server-side rendering with vanilla HTML, Vite, and Nitro.","/examples/vite-ssr-html/readme",{"title":326,"description":327,"category":282,"path":328},"SSR with Preact","Server-side rendering with Preact in Nitro using Vite.","/examples/vite-ssr-preact/readme",{"title":330,"description":331,"category":282,"path":332},"SSR with React","Server-side rendering with React in Nitro using Vite.","/examples/vite-ssr-react/readme",{"title":334,"description":335,"category":282,"path":336},"SSR with SolidJS","Server-side rendering with SolidJS in Nitro using Vite.","/examples/vite-ssr-solid/readme",{"title":338,"description":339,"category":282,"path":340},"SSR with TanStack Router","Client-side routing with TanStack Router in Nitro using Vite.","/examples/vite-ssr-tsr-react/readme",{"title":342,"description":343,"category":282,"path":344},"SSR with TanStack Start","Full-stack React with TanStack Start in Nitro using Vite.","/examples/vite-ssr-tss-react/readme",{"title":346,"description":347,"category":282,"path":348},"SSR with Vue Router","Server-side rendering with Vue Router in Nitro using Vite.","/examples/vite-ssr-vue-router/readme",{"title":350,"description":351,"category":315,"path":352},"Vite + tRPC","End-to-end typesafe APIs with tRPC in Nitro using Vite.","/examples/vite-trpc/readme",{"title":354,"description":355,"category":232,"path":356},"WebSocket","Real-time bidirectional communication with WebSocket support.","/examples/websocket/readme",{"id":358,"title":230,"body":359,"category":232,"description":231,"extension":1461,"icon":1462,"meta":1463,"navigation":1464,"path":233,"seo":1465,"stem":1466,"__hash__":1467},"examples/examples/api-routes/README.md",{"type":360,"value":361,"toc":1452},"minimark",[362,1140,1152,1156,1162,1198,1205,1209,1220,1278,1288,1292,1309,1314,1350,1354,1438,1442,1448],[363,364,367,655,717,806,830,884,928,967,1072],"code-tree",{":expand-all":365,"default-value":366,"expand-all":5},"true","api/hello.ts",[368,369,374],"pre",{"className":370,"code":371,"filename":372,"language":373,"meta":5,"style":5},"language-html shiki shiki-themes github-light github-dark github-dark","\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\" />\n    \u003Ctitle>API Routes\u003C/title>\n  \u003C/head>\n  \u003Cbody>\n    \u003Ch2>API Routes:\u003C/h2>\n    \u003Cul>\n      \u003Cli>\u003Ca href=\"/api/hello\">/api/hello\u003C/a>\u003C/li>\n      \u003Cli>\u003Ca href=\"/api/hello/world\">/api/hello/world\u003C/a>\u003C/li>\n      \u003Cli>\u003Ca href=\"/api/test\">/api/test\u003C/a>\u003C/li>\n    \u003C/ul>\n  \u003C/body>\n\u003C/html>\n","index.html","html",[375,376,377,397,417,428,448,473,488,498,508,523,533,568,597,626,636,645],"code",{"__ignoreMap":5},[378,379,382,386,390,394],"span",{"class":380,"line":381},"line",1,[378,383,385],{"class":384},"slsVL","\u003C!",[378,387,389],{"class":388},"sByVh","doctype",[378,391,393],{"class":392},"shcOC"," html",[378,395,396],{"class":384},">\n",[378,398,400,403,405,408,411,415],{"class":380,"line":399},2,[378,401,402],{"class":384},"\u003C",[378,404,373],{"class":388},[378,406,407],{"class":392}," lang",[378,409,410],{"class":384},"=",[378,412,414],{"class":413},"sfrk1","\"en\"",[378,416,396],{"class":384},[378,418,420,423,426],{"class":380,"line":419},3,[378,421,422],{"class":384},"  \u003C",[378,424,425],{"class":388},"head",[378,427,396],{"class":384},[378,429,431,434,437,440,442,445],{"class":380,"line":430},4,[378,432,433],{"class":384},"    \u003C",[378,435,436],{"class":388},"meta",[378,438,439],{"class":392}," charset",[378,441,410],{"class":384},[378,443,444],{"class":413},"\"utf-8\"",[378,446,447],{"class":384}," />\n",[378,449,451,453,455,458,460,463,466,468,471],{"class":380,"line":450},5,[378,452,433],{"class":384},[378,454,436],{"class":388},[378,456,457],{"class":392}," name",[378,459,410],{"class":384},[378,461,462],{"class":413},"\"viewport\"",[378,464,465],{"class":392}," content",[378,467,410],{"class":384},[378,469,470],{"class":413},"\"width=device-width,initial-scale=1\"",[378,472,447],{"class":384},[378,474,476,478,481,484,486],{"class":380,"line":475},6,[378,477,433],{"class":384},[378,479,480],{"class":388},"title",[378,482,483],{"class":384},">API Routes\u003C/",[378,485,480],{"class":388},[378,487,396],{"class":384},[378,489,491,494,496],{"class":380,"line":490},7,[378,492,493],{"class":384},"  \u003C/",[378,495,425],{"class":388},[378,497,396],{"class":384},[378,499,501,503,506],{"class":380,"line":500},8,[378,502,422],{"class":384},[378,504,505],{"class":388},"body",[378,507,396],{"class":384},[378,509,511,513,516,519,521],{"class":380,"line":510},9,[378,512,433],{"class":384},[378,514,515],{"class":388},"h2",[378,517,518],{"class":384},">API Routes:\u003C/",[378,520,515],{"class":388},[378,522,396],{"class":384},[378,524,526,528,531],{"class":380,"line":525},10,[378,527,433],{"class":384},[378,529,530],{"class":388},"ul",[378,532,396],{"class":384},[378,534,536,539,542,545,548,551,553,556,559,561,564,566],{"class":380,"line":535},11,[378,537,538],{"class":384},"      \u003C",[378,540,541],{"class":388},"li",[378,543,544],{"class":384},">\u003C",[378,546,547],{"class":388},"a",[378,549,550],{"class":392}," href",[378,552,410],{"class":384},[378,554,555],{"class":413},"\"/api/hello\"",[378,557,558],{"class":384},">/api/hello\u003C/",[378,560,547],{"class":388},[378,562,563],{"class":384},">\u003C/",[378,565,541],{"class":388},[378,567,396],{"class":384},[378,569,571,573,575,577,579,581,583,586,589,591,593,595],{"class":380,"line":570},12,[378,572,538],{"class":384},[378,574,541],{"class":388},[378,576,544],{"class":384},[378,578,547],{"class":388},[378,580,550],{"class":392},[378,582,410],{"class":384},[378,584,585],{"class":413},"\"/api/hello/world\"",[378,587,588],{"class":384},">/api/hello/world\u003C/",[378,590,547],{"class":388},[378,592,563],{"class":384},[378,594,541],{"class":388},[378,596,396],{"class":384},[378,598,600,602,604,606,608,610,612,615,618,620,622,624],{"class":380,"line":599},13,[378,601,538],{"class":384},[378,603,541],{"class":388},[378,605,544],{"class":384},[378,607,547],{"class":388},[378,609,550],{"class":392},[378,611,410],{"class":384},[378,613,614],{"class":413},"\"/api/test\"",[378,616,617],{"class":384},">/api/test\u003C/",[378,619,547],{"class":388},[378,621,563],{"class":384},[378,623,541],{"class":388},[378,625,396],{"class":384},[378,627,629,632,634],{"class":380,"line":628},14,[378,630,631],{"class":384},"    \u003C/",[378,633,530],{"class":388},[378,635,396],{"class":384},[378,637,639,641,643],{"class":380,"line":638},15,[378,640,493],{"class":384},[378,642,505],{"class":388},[378,644,396],{"class":384},[378,646,648,651,653],{"class":380,"line":647},16,[378,649,650],{"class":384},"\u003C/",[378,652,373],{"class":388},[378,654,396],{"class":384},[368,656,661],{"className":657,"code":658,"filename":659,"language":660,"meta":5,"style":5},"language-ts shiki shiki-themes github-light github-dark github-dark","import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  serverDir: \"./\",\n});\n","nitro.config.ts","ts",[375,662,663,681,687,701,712],{"__ignoreMap":5},[378,664,665,669,672,675,678],{"class":380,"line":381},[378,666,668],{"class":667},"so5gQ","import",[378,670,671],{"class":384}," { defineConfig } ",[378,673,674],{"class":667},"from",[378,676,677],{"class":413}," \"nitro\"",[378,679,680],{"class":384},";\n",[378,682,683],{"class":380,"line":399},[378,684,686],{"emptyLinePlaceholder":685},true,"\n",[378,688,689,692,695,698],{"class":380,"line":419},[378,690,691],{"class":667},"export",[378,693,694],{"class":667}," default",[378,696,697],{"class":392}," defineConfig",[378,699,700],{"class":384},"({\n",[378,702,703,706,709],{"class":380,"line":430},[378,704,705],{"class":384},"  serverDir: ",[378,707,708],{"class":413},"\"./\"",[378,710,711],{"class":384},",\n",[378,713,714],{"class":380,"line":450},[378,715,716],{"class":384},"});\n",[368,718,723],{"className":719,"code":720,"filename":721,"language":722,"meta":5,"style":5},"language-json shiki shiki-themes github-light github-dark github-dark","{\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \"nitro dev\",\n    \"build\": \"nitro build\"\n  },\n  \"devDependencies\": {\n    \"nitro\": \"latest\"\n  }\n}\n","package.json","json",[375,724,725,730,744,752,764,774,779,786,796,801],{"__ignoreMap":5},[378,726,727],{"class":380,"line":381},[378,728,729],{"class":384},"{\n",[378,731,732,736,739,742],{"class":380,"line":399},[378,733,735],{"class":734},"suiK_","  \"type\"",[378,737,738],{"class":384},": ",[378,740,741],{"class":413},"\"module\"",[378,743,711],{"class":384},[378,745,746,749],{"class":380,"line":419},[378,747,748],{"class":734},"  \"scripts\"",[378,750,751],{"class":384},": {\n",[378,753,754,757,759,762],{"class":380,"line":430},[378,755,756],{"class":734},"    \"dev\"",[378,758,738],{"class":384},[378,760,761],{"class":413},"\"nitro dev\"",[378,763,711],{"class":384},[378,765,766,769,771],{"class":380,"line":450},[378,767,768],{"class":734},"    \"build\"",[378,770,738],{"class":384},[378,772,773],{"class":413},"\"nitro build\"\n",[378,775,776],{"class":380,"line":475},[378,777,778],{"class":384},"  },\n",[378,780,781,784],{"class":380,"line":490},[378,782,783],{"class":734},"  \"devDependencies\"",[378,785,751],{"class":384},[378,787,788,791,793],{"class":380,"line":500},[378,789,790],{"class":734},"    \"nitro\"",[378,792,738],{"class":384},[378,794,795],{"class":413},"\"latest\"\n",[378,797,798],{"class":380,"line":510},[378,799,800],{"class":384},"  }\n",[378,802,803],{"class":380,"line":525},[378,804,805],{"class":384},"}\n",[368,807,810],{"className":719,"code":808,"filename":809,"language":722,"meta":5,"style":5},"{\n  \"extends\": \"nitro/tsconfig\"\n}\n","tsconfig.json",[375,811,812,816,826],{"__ignoreMap":5},[378,813,814],{"class":380,"line":381},[378,815,729],{"class":384},[378,817,818,821,823],{"class":380,"line":399},[378,819,820],{"class":734},"  \"extends\"",[378,822,738],{"class":384},[378,824,825],{"class":413},"\"nitro/tsconfig\"\n",[378,827,828],{"class":380,"line":419},[378,829,805],{"class":384},[368,831,834],{"className":657,"code":832,"filename":833,"language":660,"meta":5,"style":5},"import { defineConfig } from \"vite\";\nimport { nitro } from \"nitro/vite\";\n\nexport default defineConfig({ plugins: [nitro()] });\n","vite.config.ts",[375,835,836,849,863,867],{"__ignoreMap":5},[378,837,838,840,842,844,847],{"class":380,"line":381},[378,839,668],{"class":667},[378,841,671],{"class":384},[378,843,674],{"class":667},[378,845,846],{"class":413}," \"vite\"",[378,848,680],{"class":384},[378,850,851,853,856,858,861],{"class":380,"line":399},[378,852,668],{"class":667},[378,854,855],{"class":384}," { nitro } ",[378,857,674],{"class":667},[378,859,860],{"class":413}," \"nitro/vite\"",[378,862,680],{"class":384},[378,864,865],{"class":380,"line":419},[378,866,686],{"emptyLinePlaceholder":685},[378,868,869,871,873,875,878,881],{"class":380,"line":430},[378,870,691],{"class":667},[378,872,694],{"class":667},[378,874,697],{"class":392},[378,876,877],{"class":384},"({ plugins: [",[378,879,880],{"class":392},"nitro",[378,882,883],{"class":384},"()] });\n",[368,885,887],{"className":657,"code":886,"filename":366,"language":660,"meta":5,"style":5},"import { defineHandler } from \"nitro/h3\";\n\nexport default defineHandler(() => \"Nitro is amazing!\");\n",[375,888,889,903,907],{"__ignoreMap":5},[378,890,891,893,896,898,901],{"class":380,"line":381},[378,892,668],{"class":667},[378,894,895],{"class":384}," { defineHandler } ",[378,897,674],{"class":667},[378,899,900],{"class":413}," \"nitro/h3\"",[378,902,680],{"class":384},[378,904,905],{"class":380,"line":399},[378,906,686],{"emptyLinePlaceholder":685},[378,908,909,911,913,916,919,922,925],{"class":380,"line":419},[378,910,691],{"class":667},[378,912,694],{"class":667},[378,914,915],{"class":392}," defineHandler",[378,917,918],{"class":384},"(() ",[378,920,921],{"class":667},"=>",[378,923,924],{"class":413}," \"Nitro is amazing!\"",[378,926,927],{"class":384},");\n",[368,929,932],{"className":657,"code":930,"filename":931,"language":660,"meta":5,"style":5},"import { defineHandler } from \"nitro/h3\";\n\nexport default defineHandler(() => \"Test get handler\");\n","api/test.get.ts",[375,933,934,946,950],{"__ignoreMap":5},[378,935,936,938,940,942,944],{"class":380,"line":381},[378,937,668],{"class":667},[378,939,895],{"class":384},[378,941,674],{"class":667},[378,943,900],{"class":413},[378,945,680],{"class":384},[378,947,948],{"class":380,"line":399},[378,949,686],{"emptyLinePlaceholder":685},[378,951,952,954,956,958,960,962,965],{"class":380,"line":419},[378,953,691],{"class":667},[378,955,694],{"class":667},[378,957,915],{"class":392},[378,959,918],{"class":384},[378,961,921],{"class":667},[378,963,964],{"class":413}," \"Test get handler\"",[378,966,927],{"class":384},[368,968,971],{"className":657,"code":969,"filename":970,"language":660,"meta":5,"style":5},"import { defineHandler } from \"h3\";\n\nexport default defineHandler(async (event) => {\n  const body = await event.req.json();\n  return {\n    message: \"Test post handler\",\n    body,\n  };\n});\n","api/test.post.ts",[375,972,973,986,990,1019,1041,1048,1058,1063,1068],{"__ignoreMap":5},[378,974,975,977,979,981,984],{"class":380,"line":381},[378,976,668],{"class":667},[378,978,895],{"class":384},[378,980,674],{"class":667},[378,982,983],{"class":413}," \"h3\"",[378,985,680],{"class":384},[378,987,988],{"class":380,"line":399},[378,989,686],{"emptyLinePlaceholder":685},[378,991,992,994,996,998,1001,1004,1007,1011,1014,1016],{"class":380,"line":419},[378,993,691],{"class":667},[378,995,694],{"class":667},[378,997,915],{"class":392},[378,999,1000],{"class":384},"(",[378,1002,1003],{"class":667},"async",[378,1005,1006],{"class":384}," (",[378,1008,1010],{"class":1009},"sQHwn","event",[378,1012,1013],{"class":384},") ",[378,1015,921],{"class":667},[378,1017,1018],{"class":384}," {\n",[378,1020,1021,1024,1027,1030,1033,1036,1038],{"class":380,"line":430},[378,1022,1023],{"class":667},"  const",[378,1025,1026],{"class":734}," body",[378,1028,1029],{"class":667}," =",[378,1031,1032],{"class":667}," await",[378,1034,1035],{"class":384}," event.req.",[378,1037,722],{"class":392},[378,1039,1040],{"class":384},"();\n",[378,1042,1043,1046],{"class":380,"line":450},[378,1044,1045],{"class":667},"  return",[378,1047,1018],{"class":384},[378,1049,1050,1053,1056],{"class":380,"line":475},[378,1051,1052],{"class":384},"    message: ",[378,1054,1055],{"class":413},"\"Test post handler\"",[378,1057,711],{"class":384},[378,1059,1060],{"class":380,"line":490},[378,1061,1062],{"class":384},"    body,\n",[378,1064,1065],{"class":380,"line":500},[378,1066,1067],{"class":384},"  };\n",[378,1069,1070],{"class":380,"line":510},[378,1071,716],{"class":384},[368,1073,1076],{"className":657,"code":1074,"filename":1075,"language":660,"meta":5,"style":5},"import { defineHandler } from \"nitro/h3\";\n\nexport default defineHandler((event) => `Hello (param: ${event.context.params!.name})!`);\n","api/hello/[name].ts",[375,1077,1078,1090,1094],{"__ignoreMap":5},[378,1079,1080,1082,1084,1086,1088],{"class":380,"line":381},[378,1081,668],{"class":667},[378,1083,895],{"class":384},[378,1085,674],{"class":667},[378,1087,900],{"class":413},[378,1089,680],{"class":384},[378,1091,1092],{"class":380,"line":399},[378,1093,686],{"emptyLinePlaceholder":685},[378,1095,1096,1098,1100,1102,1105,1107,1109,1111,1114,1116,1119,1122,1124,1127,1130,1132,1135,1138],{"class":380,"line":419},[378,1097,691],{"class":667},[378,1099,694],{"class":667},[378,1101,915],{"class":392},[378,1103,1104],{"class":384},"((",[378,1106,1010],{"class":1009},[378,1108,1013],{"class":384},[378,1110,921],{"class":667},[378,1112,1113],{"class":413}," `Hello (param: ${",[378,1115,1010],{"class":384},[378,1117,1118],{"class":413},".",[378,1120,1121],{"class":384},"context",[378,1123,1118],{"class":413},[378,1125,1126],{"class":384},"params",[378,1128,1129],{"class":667},"!",[378,1131,1118],{"class":413},[378,1133,1134],{"class":384},"name",[378,1136,1137],{"class":413},"})!`",[378,1139,927],{"class":384},[1141,1142,1143,1144,1147,1148,1151],"p",{},"Nitro supports file-based routing in the ",[375,1145,1146],{},"api/"," or ",[375,1149,1150],{},"routes/"," directory. Each file becomes an API endpoint based on its path.",[515,1153,1155],{"id":1154},"basic-route","Basic Route",[1141,1157,1158,1159,1161],{},"Create a file in the ",[375,1160,1146],{}," directory to define a route. The file path becomes the URL path:",[368,1163,1164],{"className":657,"code":886,"filename":366,"language":660,"meta":5,"style":5},[375,1165,1166,1178,1182],{"__ignoreMap":5},[378,1167,1168,1170,1172,1174,1176],{"class":380,"line":381},[378,1169,668],{"class":667},[378,1171,895],{"class":384},[378,1173,674],{"class":667},[378,1175,900],{"class":413},[378,1177,680],{"class":384},[378,1179,1180],{"class":380,"line":399},[378,1181,686],{"emptyLinePlaceholder":685},[378,1183,1184,1186,1188,1190,1192,1194,1196],{"class":380,"line":419},[378,1185,691],{"class":667},[378,1187,694],{"class":667},[378,1189,915],{"class":392},[378,1191,918],{"class":384},[378,1193,921],{"class":667},[378,1195,924],{"class":413},[378,1197,927],{"class":384},[1141,1199,1200,1201,1204],{},"This creates a ",[375,1202,1203],{},"GET /api/hello"," endpoint.",[515,1206,1208],{"id":1207},"dynamic-routes","Dynamic Routes",[1141,1210,1211,1212,1215,1216,1219],{},"Use square brackets ",[375,1213,1214],{},"[param]"," for dynamic URL segments. Access params via ",[375,1217,1218],{},"event.context.params",":",[368,1221,1222],{"className":657,"code":1074,"filename":1075,"language":660,"meta":5,"style":5},[375,1223,1224,1236,1240],{"__ignoreMap":5},[378,1225,1226,1228,1230,1232,1234],{"class":380,"line":381},[378,1227,668],{"class":667},[378,1229,895],{"class":384},[378,1231,674],{"class":667},[378,1233,900],{"class":413},[378,1235,680],{"class":384},[378,1237,1238],{"class":380,"line":399},[378,1239,686],{"emptyLinePlaceholder":685},[378,1241,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276],{"class":380,"line":419},[378,1243,691],{"class":667},[378,1245,694],{"class":667},[378,1247,915],{"class":392},[378,1249,1104],{"class":384},[378,1251,1010],{"class":1009},[378,1253,1013],{"class":384},[378,1255,921],{"class":667},[378,1257,1113],{"class":413},[378,1259,1010],{"class":384},[378,1261,1118],{"class":413},[378,1263,1121],{"class":384},[378,1265,1118],{"class":413},[378,1267,1126],{"class":384},[378,1269,1129],{"class":667},[378,1271,1118],{"class":413},[378,1273,1134],{"class":384},[378,1275,1137],{"class":413},[378,1277,927],{"class":384},[1141,1279,1200,1280,1283,1284,1287],{},[375,1281,1282],{},"GET /api/hello/:name"," endpoint (e.g., ",[375,1285,1286],{},"/api/hello/world",").",[515,1289,1291],{"id":1290},"http-methods","HTTP Methods",[1141,1293,1294,1295,1298,1299,1298,1302,1298,1305,1308],{},"Suffix your file with the HTTP method (",[375,1296,1297],{},".get.ts",", ",[375,1300,1301],{},".post.ts",[375,1303,1304],{},".put.ts",[375,1306,1307],{},".delete.ts",", etc.):",[1310,1311,1313],"h3",{"id":1312},"get-handler","GET Handler",[368,1315,1316],{"className":657,"code":930,"filename":931,"language":660,"meta":5,"style":5},[375,1317,1318,1330,1334],{"__ignoreMap":5},[378,1319,1320,1322,1324,1326,1328],{"class":380,"line":381},[378,1321,668],{"class":667},[378,1323,895],{"class":384},[378,1325,674],{"class":667},[378,1327,900],{"class":413},[378,1329,680],{"class":384},[378,1331,1332],{"class":380,"line":399},[378,1333,686],{"emptyLinePlaceholder":685},[378,1335,1336,1338,1340,1342,1344,1346,1348],{"class":380,"line":419},[378,1337,691],{"class":667},[378,1339,694],{"class":667},[378,1341,915],{"class":392},[378,1343,918],{"class":384},[378,1345,921],{"class":667},[378,1347,964],{"class":413},[378,1349,927],{"class":384},[1310,1351,1353],{"id":1352},"post-handler","POST Handler",[368,1355,1356],{"className":657,"code":969,"filename":970,"language":660,"meta":5,"style":5},[375,1357,1358,1370,1374,1396,1412,1418,1426,1430,1434],{"__ignoreMap":5},[378,1359,1360,1362,1364,1366,1368],{"class":380,"line":381},[378,1361,668],{"class":667},[378,1363,895],{"class":384},[378,1365,674],{"class":667},[378,1367,983],{"class":413},[378,1369,680],{"class":384},[378,1371,1372],{"class":380,"line":399},[378,1373,686],{"emptyLinePlaceholder":685},[378,1375,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394],{"class":380,"line":419},[378,1377,691],{"class":667},[378,1379,694],{"class":667},[378,1381,915],{"class":392},[378,1383,1000],{"class":384},[378,1385,1003],{"class":667},[378,1387,1006],{"class":384},[378,1389,1010],{"class":1009},[378,1391,1013],{"class":384},[378,1393,921],{"class":667},[378,1395,1018],{"class":384},[378,1397,1398,1400,1402,1404,1406,1408,1410],{"class":380,"line":430},[378,1399,1023],{"class":667},[378,1401,1026],{"class":734},[378,1403,1029],{"class":667},[378,1405,1032],{"class":667},[378,1407,1035],{"class":384},[378,1409,722],{"class":392},[378,1411,1040],{"class":384},[378,1413,1414,1416],{"class":380,"line":450},[378,1415,1045],{"class":667},[378,1417,1018],{"class":384},[378,1419,1420,1422,1424],{"class":380,"line":475},[378,1421,1052],{"class":384},[378,1423,1055],{"class":413},[378,1425,711],{"class":384},[378,1427,1428],{"class":380,"line":490},[378,1429,1062],{"class":384},[378,1431,1432],{"class":380,"line":500},[378,1433,1067],{"class":384},[378,1435,1436],{"class":380,"line":510},[378,1437,716],{"class":384},[515,1439,1441],{"id":1440},"learn-more","Learn More",[530,1443,1444],{},[541,1445,1446],{},[547,1447,23],{"href":24},[1449,1450,1451],"style",{},"html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sByVh, html code.shiki .sByVh{--shiki-light:#22863A;--shiki-default:#85E89D;--shiki-dark:#85E89D}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}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 .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}",{"title":5,"searchDepth":399,"depth":399,"links":1453},[1454,1455,1456,1460],{"id":1154,"depth":399,"text":1155},{"id":1207,"depth":399,"text":1208},{"id":1290,"depth":399,"text":1291,"children":1457},[1458,1459],{"id":1312,"depth":419,"text":1313},{"id":1352,"depth":419,"text":1353},{"id":1440,"depth":399,"text":1441},"md","i-lucide-route",{"automd":685},{},{"title":230,"description":231},"examples/api-routes/README","sYUbyOHZFXA8Pr7pC2TxMDHmFYXwe7DigOKftxvIKxc",[1469,1470],null,{"title":240,"path":1471,"stem":1472,"description":241,"children":-1},"/examples/cached-handler","examples/cached-handler/README",1773176974898]