[{"data":1,"prerenderedAt":942},["ShallowReactive",2],{"navigation":3,"-docs-quick-start":407,"-docs-quick-start-surround":937},[4,93,226,232,392,404],{"title":5,"path":6,"stem":7,"children":8,"icon":92},"","\u002Fdocs","1.docs\u002F1.index",[9,12,17,22,27,32,37,42,47,52,57,62,67,72,77,82,87],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-compass",{"title":13,"path":14,"stem":15,"icon":16},"Quick Start","\u002Fdocs\u002Fquick-start","1.docs\u002F2.quick-start","i-lucide-zap",{"title":18,"path":19,"stem":20,"icon":21},"Renderer","\u002Fdocs\u002Frenderer","1.docs\u002F4.renderer","ri:layout-masonry-line",{"title":23,"path":24,"stem":25,"icon":26},"Routing","\u002Fdocs\u002Frouting","1.docs\u002F5.routing","ri:direction-line",{"title":28,"path":29,"stem":30,"icon":31},"Assets","\u002Fdocs\u002Fassets","1.docs\u002F50.assets","ri:image-2-line",{"title":33,"path":34,"stem":35,"icon":36},"Configuration","\u002Fdocs\u002Fconfiguration","1.docs\u002F50.configuration","ri:settings-3-line",{"title":38,"path":39,"stem":40,"icon":41},"Database","\u002Fdocs\u002Fdatabase","1.docs\u002F50.database","ri:database-2-line",{"title":43,"path":44,"stem":45,"icon":46},"Lifecycle","\u002Fdocs\u002Flifecycle","1.docs\u002F50.lifecycle","i-lucide-layers",{"title":48,"path":49,"stem":50,"icon":51},"OpenAPI","\u002Fdocs\u002Fopenapi","1.docs\u002F50.openapi","ri:contract-line",{"title":53,"path":54,"stem":55,"icon":56},"Plugins","\u002Fdocs\u002Fplugins","1.docs\u002F50.plugins","ri:plug-line",{"title":58,"path":59,"stem":60,"icon":61},"Tasks","\u002Fdocs\u002Ftasks","1.docs\u002F50.tasks","codicon:run-all",{"title":63,"path":64,"stem":65,"icon":66},"WebSocket","\u002Fdocs\u002Fwebsocket","1.docs\u002F50.websocket","ri:broadcast-fill",{"title":68,"path":69,"stem":70,"icon":71},"Server Entry","\u002Fdocs\u002Fserver-entry","1.docs\u002F6.server-entry","ri:server-line",{"title":73,"path":74,"stem":75,"icon":76},"Cache","\u002Fdocs\u002Fcache","1.docs\u002F7.cache","ri:speed-line",{"title":78,"path":79,"stem":80,"icon":81},"KV Storage","\u002Fdocs\u002Fstorage","1.docs\u002F8.storage","carbon:datastore",{"title":83,"path":84,"stem":85,"icon":86},"Migration Guide","\u002Fdocs\u002Fmigration","1.docs\u002F99.migration","ri:arrow-right-up-line",{"title":88,"path":89,"stem":90,"icon":91},"Nightly Channel","\u002Fdocs\u002Fnightly","1.docs\u002F99.nightly","ri:moon-fill","i-lucide-book-open",{"title":94,"path":95,"stem":96,"children":97,"icon":99},"Deploy","\u002Fdeploy","2.deploy\u002F0.index",[98,100,121],{"title":94,"path":95,"stem":96,"icon":99},"ri:upload-cloud-2-line",{"title":101,"path":102,"stem":103,"children":104,"page":120},"Runtimes","\u002Fdeploy\u002Fruntimes","2.deploy\u002F10.runtimes",[105,110,115],{"title":106,"path":107,"stem":108,"icon":109},"Node.js","\u002Fdeploy\u002Fruntimes\u002Fnode","2.deploy\u002F10.runtimes\u002F1.node","akar-icons:node-fill",{"title":111,"path":112,"stem":113,"icon":114},"Bun","\u002Fdeploy\u002Fruntimes\u002Fbun","2.deploy\u002F10.runtimes\u002Fbun","simple-icons:bun",{"title":116,"path":117,"stem":118,"icon":119},"Deno","\u002Fdeploy\u002Fruntimes\u002Fdeno","2.deploy\u002F10.runtimes\u002Fdeno","simple-icons:deno",false,{"title":122,"path":123,"stem":124,"children":125,"page":120},"Providers","\u002Fdeploy\u002Fproviders","2.deploy\u002F20.providers",[126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222],{"title":127,"path":128,"stem":129},"Alwaysdata","\u002Fdeploy\u002Fproviders\u002Falwaysdata","2.deploy\u002F20.providers\u002Falwaysdata",{"title":131,"path":132,"stem":133},"AWS Lambda","\u002Fdeploy\u002Fproviders\u002Faws","2.deploy\u002F20.providers\u002Faws",{"title":135,"path":136,"stem":137},"AWS Amplify","\u002Fdeploy\u002Fproviders\u002Faws-amplify","2.deploy\u002F20.providers\u002Faws-amplify",{"title":139,"path":140,"stem":141},"Azure","\u002Fdeploy\u002Fproviders\u002Fazure","2.deploy\u002F20.providers\u002Fazure",{"title":143,"path":144,"stem":145},"Cleavr","\u002Fdeploy\u002Fproviders\u002Fcleavr","2.deploy\u002F20.providers\u002Fcleavr",{"title":147,"path":148,"stem":149},"Cloudflare","\u002Fdeploy\u002Fproviders\u002Fcloudflare","2.deploy\u002F20.providers\u002Fcloudflare",{"title":151,"path":152,"stem":153},"Deno Deploy","\u002Fdeploy\u002Fproviders\u002Fdeno-deploy","2.deploy\u002F20.providers\u002Fdeno-deploy",{"title":155,"path":156,"stem":157},"DigitalOcean","\u002Fdeploy\u002Fproviders\u002Fdigitalocean","2.deploy\u002F20.providers\u002Fdigitalocean",{"title":159,"path":160,"stem":161},"EdgeOne Pages","\u002Fdeploy\u002Fproviders\u002Fedgeone","2.deploy\u002F20.providers\u002Fedgeone",{"title":163,"path":164,"stem":165},"Firebase","\u002Fdeploy\u002Fproviders\u002Ffirebase","2.deploy\u002F20.providers\u002Ffirebase",{"title":167,"path":168,"stem":169},"Flightcontrol","\u002Fdeploy\u002Fproviders\u002Fflightcontrol","2.deploy\u002F20.providers\u002Fflightcontrol",{"title":171,"path":172,"stem":173},"Genezio","\u002Fdeploy\u002Fproviders\u002Fgenezio","2.deploy\u002F20.providers\u002Fgenezio",{"title":175,"path":176,"stem":177},"GitHub Pages","\u002Fdeploy\u002Fproviders\u002Fgithub-pages","2.deploy\u002F20.providers\u002Fgithub-pages",{"title":179,"path":180,"stem":181},"GitLab Pages","\u002Fdeploy\u002Fproviders\u002Fgitlab-pages","2.deploy\u002F20.providers\u002Fgitlab-pages",{"title":183,"path":184,"stem":185},"Heroku","\u002Fdeploy\u002Fproviders\u002Fheroku","2.deploy\u002F20.providers\u002Fheroku",{"title":187,"path":188,"stem":189},"IIS","\u002Fdeploy\u002Fproviders\u002Fiis","2.deploy\u002F20.providers\u002Fiis",{"title":191,"path":192,"stem":193},"Koyeb","\u002Fdeploy\u002Fproviders\u002Fkoyeb","2.deploy\u002F20.providers\u002Fkoyeb",{"title":195,"path":196,"stem":197},"Netlify","\u002Fdeploy\u002Fproviders\u002Fnetlify","2.deploy\u002F20.providers\u002Fnetlify",{"title":199,"path":200,"stem":201},"Platform.sh","\u002Fdeploy\u002Fproviders\u002Fplatform-sh","2.deploy\u002F20.providers\u002Fplatform-sh",{"title":203,"path":204,"stem":205},"Render.com","\u002Fdeploy\u002Fproviders\u002Frender","2.deploy\u002F20.providers\u002Frender",{"title":207,"path":208,"stem":209},"StormKit","\u002Fdeploy\u002Fproviders\u002Fstormkit","2.deploy\u002F20.providers\u002Fstormkit",{"title":211,"path":212,"stem":213},"Vercel","\u002Fdeploy\u002Fproviders\u002Fvercel","2.deploy\u002F20.providers\u002Fvercel",{"title":215,"path":216,"stem":217},"Zeabur","\u002Fdeploy\u002Fproviders\u002Fzeabur","2.deploy\u002F20.providers\u002Fzeabur",{"title":219,"path":220,"stem":221},"Zephyr Cloud","\u002Fdeploy\u002Fproviders\u002Fzephyr","2.deploy\u002F20.providers\u002Fzephyr",{"title":223,"path":224,"stem":225},"Zerops","\u002Fdeploy\u002Fproviders\u002Fzerops","2.deploy\u002F20.providers\u002Fzerops",{"title":227,"path":228,"stem":229,"children":230,"icon":36},"Config","\u002Fconfig","3.config\u002F0.index",[231],{"title":227,"path":228,"stem":229,"icon":36},{"title":233,"path":234,"stem":235,"children":236,"icon":238},"Examples","\u002Fexamples","4.examples\u002F0.index",[237,239,244,249,254,259,263,268,273,278,283,288,293,297,302,306,310,315,320,325,330,335,340,345,350,355,360,364,369,374,378,383,388],{"title":233,"path":234,"stem":235,"icon":238},"i-lucide-folder-code",{"title":240,"path":241,"stem":242,"icon":243},"API Routes","\u002Fexamples\u002Fapi-routes","4.examples\u002Fapi-routes","i-lucide-route",{"title":245,"path":246,"stem":247,"icon":248},"Auto Imports","\u002Fexamples\u002Fauto-imports","4.examples\u002Fauto-imports","i-lucide-import",{"title":250,"path":251,"stem":252,"icon":253},"Cached Handler","\u002Fexamples\u002Fcached-handler","4.examples\u002Fcached-handler","i-lucide-clock",{"title":255,"path":256,"stem":257,"icon":258},"Custom Error Handler","\u002Fexamples\u002Fcustom-error-handler","4.examples\u002Fcustom-error-handler","i-lucide-alert-circle",{"title":38,"path":260,"stem":261,"icon":262},"\u002Fexamples\u002Fdatabase","4.examples\u002Fdatabase","i-lucide-database",{"title":264,"path":265,"stem":266,"icon":267},"Elysia","\u002Fexamples\u002Felysia","4.examples\u002Felysia","i-skill-icons-elysia-dark",{"title":269,"path":270,"stem":271,"icon":272},"Express","\u002Fexamples\u002Fexpress","4.examples\u002Fexpress","i-simple-icons-express",{"title":274,"path":275,"stem":276,"icon":277},"Fastify","\u002Fexamples\u002Ffastify","4.examples\u002Ffastify","i-simple-icons-fastify",{"title":279,"path":280,"stem":281,"icon":282},"Hello World","\u002Fexamples\u002Fhello-world","4.examples\u002Fhello-world","i-lucide-sparkles",{"title":284,"path":285,"stem":286,"icon":287},"Hono","\u002Fexamples\u002Fhono","4.examples\u002Fhono","i-logos-hono",{"title":289,"path":290,"stem":291,"icon":292},"Import Alias","\u002Fexamples\u002Fimport-alias","4.examples\u002Fimport-alias","i-lucide-at-sign",{"title":294,"path":295,"stem":296,"icon":46},"Middleware","\u002Fexamples\u002Fmiddleware","4.examples\u002Fmiddleware",{"title":298,"path":299,"stem":300,"icon":301},"Mono JSX","\u002Fexamples\u002Fmono-jsx","4.examples\u002Fmono-jsx","i-lucide-brackets",{"title":303,"path":304,"stem":305,"icon":301},"Nano JSX","\u002Fexamples\u002Fnano-jsx","4.examples\u002Fnano-jsx",{"title":53,"path":307,"stem":308,"icon":309},"\u002Fexamples\u002Fplugins","4.examples\u002Fplugins","i-lucide-plug",{"title":311,"path":312,"stem":313,"icon":314},"Custom Renderer","\u002Fexamples\u002Frenderer","4.examples\u002Frenderer","i-lucide-code",{"title":316,"path":317,"stem":318,"icon":319},"Runtime Config","\u002Fexamples\u002Fruntime-config","4.examples\u002Fruntime-config","i-lucide-settings",{"title":321,"path":322,"stem":323,"icon":324},"Server Fetch","\u002Fexamples\u002Fserver-fetch","4.examples\u002Fserver-fetch","i-lucide-arrow-right-left",{"title":326,"path":327,"stem":328,"icon":329},"Shiki","\u002Fexamples\u002Fshiki","4.examples\u002Fshiki","i-lucide-highlighter",{"title":331,"path":332,"stem":333,"icon":334},"Takumi","\u002Fexamples\u002Ftakumi","4.examples\u002Ftakumi","i-lucide-image",{"title":336,"path":337,"stem":338,"icon":339},"Virtual Routes","\u002Fexamples\u002Fvirtual-routes","4.examples\u002Fvirtual-routes","i-lucide-box",{"title":341,"path":342,"stem":343,"icon":344},"Vite Nitro Plugin","\u002Fexamples\u002Fvite-nitro-plugin","4.examples\u002Fvite-nitro-plugin","i-logos-vitejs",{"title":346,"path":347,"stem":348,"icon":349},"Vite RSC","\u002Fexamples\u002Fvite-rsc","4.examples\u002Fvite-rsc","i-logos-react",{"title":351,"path":352,"stem":353,"icon":354},"Vite SSR HTML","\u002Fexamples\u002Fvite-ssr-html","4.examples\u002Fvite-ssr-html","i-logos-html-5",{"title":356,"path":357,"stem":358,"icon":359},"SSR with Preact","\u002Fexamples\u002Fvite-ssr-preact","4.examples\u002Fvite-ssr-preact","i-logos-preact",{"title":361,"path":362,"stem":363,"icon":349},"SSR with React","\u002Fexamples\u002Fvite-ssr-react","4.examples\u002Fvite-ssr-react",{"title":365,"path":366,"stem":367,"icon":368},"SSR with SolidJS","\u002Fexamples\u002Fvite-ssr-solid","4.examples\u002Fvite-ssr-solid","i-logos-solidjs-icon",{"title":370,"path":371,"stem":372,"icon":373},"SSR with TanStack Router","\u002Fexamples\u002Fvite-ssr-tsr-react","4.examples\u002Fvite-ssr-tsr-react","i-simple-icons-tanstack",{"title":375,"path":376,"stem":377,"icon":373},"SSR with TanStack Start","\u002Fexamples\u002Fvite-ssr-tss-react","4.examples\u002Fvite-ssr-tss-react",{"title":379,"path":380,"stem":381,"icon":382},"SSR with Vue Router","\u002Fexamples\u002Fvite-ssr-vue-router","4.examples\u002Fvite-ssr-vue-router","i-logos-vue",{"title":384,"path":385,"stem":386,"icon":387},"Vite + tRPC","\u002Fexamples\u002Fvite-trpc","4.examples\u002Fvite-trpc","i-simple-icons-trpc",{"title":63,"path":389,"stem":390,"icon":391},"\u002Fexamples\u002Fwebsocket","4.examples\u002Fwebsocket","i-lucide-radio",{"title":393,"path":394,"stem":395,"children":396},"Blog","\u002Fblog","9.blog",[397,400],{"title":393,"path":394,"stem":398,"icon":399},"9.blog\u002Findex","i-lucide-file-text",{"title":401,"path":402,"stem":403,"icon":399},"Nitro v3 Beta is here!","\u002Fblog\u002Fv3-beta","9.blog\u002F1.v3-beta",{"title":5,"path":405,"stem":406},"\u002F","index",{"id":408,"title":13,"body":409,"description":931,"extension":932,"meta":933,"navigation":934,"path":14,"seo":935,"stem":15,"__hash__":936},"content\u002F1.docs\u002F2.quick-start.md",{"type":410,"value":411,"toc":919,"icon":16},"minimark",[412,417,421,431,435,443,463,466,484,487,491,494,915],[413,414,416],"h2",{"id":415},"try-nitro-online","Try Nitro online",[418,419,420],"p",{},"Get a taste of Nitro in your browser using our playground.",[418,422,423],{},[424,425,430],"a",{"href":426,"rel":427,"target":429},"https:\u002F\u002Fstackblitz.com\u002Fgithub\u002Fnitrojs\u002Fstarter\u002Ftree\u002Fv3-vite?file=index.html,server.ts",[428],"nofollow","_blank","Play with Nitro in StackBlitz",[413,432,434],{"id":433},"create-a-nitro-project","Create a Nitro project",[418,436,437,438,442],{},"The fastest way to create a Nitro application is using the ",[439,440,441],"code",{},"create-nitro-app",".",[444,445,446],"note",{},[418,447,448,449,453,454,458,459,442],{},"\nMake sure to have installed the latest LTS version of either ",[424,450,106],{"href":451,"rel":452},"https:\u002F\u002Fnodejs.org\u002Fen",[428],", ",[424,455,111],{"href":456,"rel":457},"https:\u002F\u002Fbun.sh\u002F",[428],", or ",[424,460,116],{"href":461,"rel":462},"https:\u002F\u002Fdeno.com\u002F",[428],[464,465],"pm-x",{"command":441},[467,468,469,470,469,474],"details",{},"\n  ",[471,472,473],"summary",{},"Preview",[475,476,478,479,469],"div",{"style":477},"display:flex;justify-content:center;","\n    ",[480,481],"img",{"src":482,"alt":473,"style":483},"https:\u002F\u002Fgithub.com\u002Fnitrojs\u002Fcreate-nitro-app\u002Fblob\u002Fmain\u002F.images\u002Fpreview-dark.svg?raw=true","max-width:100%;height:auto;display:block;",[418,485,486],{},"Follow the instructions from the CLI and you will be ready to start your development server.",[413,488,490],{"id":489},"add-to-a-vite-project","Add to a Vite project",[418,492,493],{},"You can add Nitro to any existing Vite project to get API routes, server-side rendering, and more.",[495,496,498,510,514,518,525,625,629,636,683,694,698,704,864,873,888,900,904,908],"steps",{"level":497},"3",[499,500,502,503,506,507],"h3",{"id":501},"install-nitro-and-vite","Install ",[439,504,505],{},"nitro"," and ",[439,508,509],{},"vite",[511,512],"pm-install",{"name":513},"nitro vite",[499,515,517],{"id":516},"add-nitro-plugin-to-vite","Add Nitro plugin to Vite",[418,519,520,521,524],{},"Add the Nitro plugin to your ",[439,522,523],{},"vite.config.ts",":",[526,527,534],"pre",{"className":528,"code":529,"filename":523,"highlights":530,"language":533,"meta":5,"style":5},"language-ts shiki shiki-themes github-light github-dark github-dark","import { defineConfig } from \"vite\";\nimport { nitro } from \"nitro\u002Fvite\";\n\nexport default defineConfig({\n  plugins: [\n    nitro()\n  ],\n});\n",[531,532],2,6,"ts",[439,535,536,559,575,582,598,604,613,619],{"__ignoreMap":5},[537,538,541,545,549,552,556],"span",{"class":539,"line":540},"line",1,[537,542,544],{"class":543},"so5gQ","import",[537,546,548],{"class":547},"slsVL"," { defineConfig } ",[537,550,551],{"class":543},"from",[537,553,555],{"class":554},"sfrk1"," \"vite\"",[537,557,558],{"class":547},";\n",[537,560,563,565,568,570,573],{"class":561,"line":531},[539,562],"highlight",[537,564,544],{"class":543},[537,566,567],{"class":547}," { nitro } ",[537,569,551],{"class":543},[537,571,572],{"class":554}," \"nitro\u002Fvite\"",[537,574,558],{"class":547},[537,576,578],{"class":539,"line":577},3,[537,579,581],{"emptyLinePlaceholder":580},true,"\n",[537,583,585,588,591,595],{"class":539,"line":584},4,[537,586,587],{"class":543},"export",[537,589,590],{"class":543}," default",[537,592,594],{"class":593},"shcOC"," defineConfig",[537,596,597],{"class":547},"({\n",[537,599,601],{"class":539,"line":600},5,[537,602,603],{"class":547},"  plugins: [\n",[537,605,607,610],{"class":606,"line":532},[539,562],[537,608,609],{"class":593},"    nitro",[537,611,612],{"class":547},"()\n",[537,614,616],{"class":539,"line":615},7,[537,617,618],{"class":547},"  ],\n",[537,620,622],{"class":539,"line":621},8,[537,623,624],{"class":547},"});\n",[499,626,628],{"id":627},"configure-nitro","Configure Nitro",[418,630,631,632,635],{},"Create a ",[439,633,634],{},"nitro.config.ts"," to configure the server directory:",[526,637,639],{"className":528,"code":638,"filename":634,"language":533,"meta":5,"style":5},"import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  serverDir: \".\u002Fserver\",\n});\n",[439,640,641,654,658,668,679],{"__ignoreMap":5},[537,642,643,645,647,649,652],{"class":539,"line":540},[537,644,544],{"class":543},[537,646,548],{"class":547},[537,648,551],{"class":543},[537,650,651],{"class":554}," \"nitro\"",[537,653,558],{"class":547},[537,655,656],{"class":539,"line":531},[537,657,581],{"emptyLinePlaceholder":580},[537,659,660,662,664,666],{"class":539,"line":577},[537,661,587],{"class":543},[537,663,590],{"class":543},[537,665,594],{"class":593},[537,667,597],{"class":547},[537,669,670,673,676],{"class":539,"line":584},[537,671,672],{"class":547},"  serverDir: ",[537,674,675],{"class":554},"\".\u002Fserver\"",[537,677,678],{"class":547},",\n",[537,680,681],{"class":539,"line":600},[537,682,624],{"class":547},[418,684,685,686,689,690,693],{},"The ",[439,687,688],{},"serverDir"," option tells Nitro where to look for your server routes. In this example, all routes will be inside the ",[439,691,692],{},"server\u002F"," directory.",[499,695,697],{"id":696},"create-an-api-route","Create an API route",[418,699,700,701,524],{},"Create your first API route at ",[439,702,703],{},"server\u002Fapi\u002Ftest.ts",[705,706,707,765,807],"code-tree",{"default-value":703},[526,708,710],{"className":528,"code":709,"filename":703,"language":533,"meta":5,"style":5},"import { defineHandler } from \"nitro\";\n\nexport default defineHandler(() => {\n  return { message: \"Hello Nitro!\" };\n});\n",[439,711,712,725,729,747,761],{"__ignoreMap":5},[537,713,714,716,719,721,723],{"class":539,"line":540},[537,715,544],{"class":543},[537,717,718],{"class":547}," { defineHandler } ",[537,720,551],{"class":543},[537,722,651],{"class":554},[537,724,558],{"class":547},[537,726,727],{"class":539,"line":531},[537,728,581],{"emptyLinePlaceholder":580},[537,730,731,733,735,738,741,744],{"class":539,"line":577},[537,732,587],{"class":543},[537,734,590],{"class":543},[537,736,737],{"class":593}," defineHandler",[537,739,740],{"class":547},"(() ",[537,742,743],{"class":543},"=>",[537,745,746],{"class":547}," {\n",[537,748,749,752,755,758],{"class":539,"line":584},[537,750,751],{"class":543},"  return",[537,753,754],{"class":547}," { message: ",[537,756,757],{"class":554},"\"Hello Nitro!\"",[537,759,760],{"class":547}," };\n",[537,762,763],{"class":539,"line":600},[537,764,624],{"class":547},[526,766,767],{"className":528,"code":638,"filename":634,"language":533,"meta":5,"style":5},[439,768,769,781,785,795,803],{"__ignoreMap":5},[537,770,771,773,775,777,779],{"class":539,"line":540},[537,772,544],{"class":543},[537,774,548],{"class":547},[537,776,551],{"class":543},[537,778,651],{"class":554},[537,780,558],{"class":547},[537,782,783],{"class":539,"line":531},[537,784,581],{"emptyLinePlaceholder":580},[537,786,787,789,791,793],{"class":539,"line":577},[537,788,587],{"class":543},[537,790,590],{"class":543},[537,792,594],{"class":593},[537,794,597],{"class":547},[537,796,797,799,801],{"class":539,"line":584},[537,798,672],{"class":547},[537,800,675],{"class":554},[537,802,678],{"class":547},[537,804,805],{"class":539,"line":600},[537,806,624],{"class":547},[526,808,810],{"className":528,"code":809,"filename":523,"language":533,"meta":5,"style":5},"import { defineConfig } from \"vite\";\nimport { nitro } from \"nitro\u002Fvite\";\n\nexport default defineConfig({\n  plugins: [nitro()],\n});\n",[439,811,812,824,836,840,850,860],{"__ignoreMap":5},[537,813,814,816,818,820,822],{"class":539,"line":540},[537,815,544],{"class":543},[537,817,548],{"class":547},[537,819,551],{"class":543},[537,821,555],{"class":554},[537,823,558],{"class":547},[537,825,826,828,830,832,834],{"class":539,"line":531},[537,827,544],{"class":543},[537,829,567],{"class":547},[537,831,551],{"class":543},[537,833,572],{"class":554},[537,835,558],{"class":547},[537,837,838],{"class":539,"line":577},[537,839,581],{"emptyLinePlaceholder":580},[537,841,842,844,846,848],{"class":539,"line":584},[537,843,587],{"class":543},[537,845,590],{"class":543},[537,847,594],{"class":593},[537,849,597],{"class":547},[537,851,852,855,857],{"class":539,"line":600},[537,853,854],{"class":547},"  plugins: [",[537,856,505],{"class":593},[537,858,859],{"class":547},"()],\n",[537,861,862],{"class":539,"line":532},[537,863,624],{"class":547},[418,865,866,867,869,870,442],{},"The file path maps directly to the route URL — ",[439,868,703],{}," becomes ",[439,871,872],{},"\u002Fapi\u002Ftest",[874,875,876],"tip",{},[418,877,878,879,882,883,887],{},"As an alternative to filesystem routing, you can declare routes programmatically using the ",[439,880,881],{},"routes"," config option. See ",[424,884,886],{"href":885},"\u002Fdocs\u002Frouting#programmatic-route-handlers","Programmatic route handlers"," for more details.",[874,889,890],{},[418,891,892,893,896,897,899],{},"You can return strings, JSON objects, ",[439,894,895],{},"Response"," instances, or readable streams from your handlers. See ",[424,898,23],{"href":24}," for more about dynamic routes, methods, and middleware.",[499,901,903],{"id":902},"start-the-development-server","Start the development server",[905,906],"pm-run",{"script":907},"dev -- --open",[418,909,910,911,914],{},"Your API route is now accessible at ",[439,912,913],{},"http:\u002F\u002Flocalhost:3000\u002Fapi\u002Ftest"," ✨",[916,917,918],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}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);}",{"title":5,"searchDepth":531,"depth":531,"links":920},[921,922,923],{"id":415,"depth":531,"text":416},{"id":433,"depth":531,"text":434},{"id":489,"depth":531,"text":490,"children":924},[925,927,928,929,930],{"id":501,"depth":577,"text":926},"Install nitro and vite",{"id":516,"depth":577,"text":517},{"id":627,"depth":577,"text":628},{"id":696,"depth":577,"text":697},{"id":902,"depth":577,"text":903},"Start with a fresh Nitro project or adopt it in your current Vite project.","md",{"icon":16},{"icon":16},{"title":13,"description":931},"NBPc90_TZtLK5pjSfuPhc9okUTIGQXu_LvGtW1qxvfM",[938,940],{"title":10,"path":6,"stem":7,"description":939,"icon":11,"children":-1},"Nitro is a full-stack server framework, compatible with any runtime and any deployment target.",{"title":18,"path":19,"stem":20,"description":941,"icon":21,"children":-1},"Use a renderer to handle all unmatched routes with custom HTML or a templating system.",1784136732271]