[{"data":1,"prerenderedAt":426},["ShallowReactive",2],{"navigation":3,"\u002Fdocumentation\u002Fdeployment":90,"\u002Fdocumentation\u002Fdeployment-surround":421},[4,73],{"title":5,"path":6,"stem":7,"children":8,"icon":72},"Documentation","\u002Fdocumentation","1.documentation\u002F01.index",[9,12,17,22,27,32,37,42,47,52,57,62,67],{"title":10,"path":6,"stem":7,"icon":11},"Welcome","i-lucide-info",{"title":13,"path":14,"stem":15,"icon":16},"Requirements","\u002Fdocumentation\u002Frequirements","1.documentation\u002F02.requirements","i-lucide-alert-triangle",{"title":18,"path":19,"stem":20,"icon":21},"Getting Started","\u002Fdocumentation\u002Fgetting-started","1.documentation\u002F03.getting-started","i-lucide-package",{"title":23,"path":24,"stem":25,"icon":26},"Folder Structure","\u002Fdocumentation\u002Ffolder-structure","1.documentation\u002F04.folder-structure","i-lucide-folder-tree",{"title":28,"path":29,"stem":30,"icon":31},"Customization","\u002Fdocumentation\u002Fcustomization","1.documentation\u002F05.customization","i-lucide-palette",{"title":33,"path":34,"stem":35,"icon":36},"Deployment","\u002Fdocumentation\u002Fdeployment","1.documentation\u002F06.deployment","i-lucide-cloud-upload",{"title":38,"path":39,"stem":40,"icon":41},"API Usage","\u002Fdocumentation\u002Fapi-usage","1.documentation\u002F07.api-usage","i-lucide-plug",{"title":43,"path":44,"stem":45,"icon":46},"Backend Integration","\u002Fdocumentation\u002Fbackend-integration","1.documentation\u002F08.backend-integration","i-lucide-server",{"title":48,"path":49,"stem":50,"icon":51},"Install PWA","\u002Fdocumentation\u002Finstall-pwa","1.documentation\u002F09.install-pwa","i-lucide-smartphone",{"title":53,"path":54,"stem":55,"icon":56},"Configuration","\u002Fdocumentation\u002Fconfiguration","1.documentation\u002F10.configuration","i-lucide-settings",{"title":58,"path":59,"stem":60,"icon":61},"Screens Overview","\u002Fdocumentation\u002Fscreens-overview","1.documentation\u002F11.screens-overview","i-lucide-layout-dashboard",{"title":63,"path":64,"stem":65,"icon":66},"FAQ & Troubleshooting","\u002Fdocumentation\u002Ffaq","1.documentation\u002F12.faq","i-lucide-circle-help",{"title":68,"path":69,"stem":70,"icon":71},"Authentication","\u002Fdocumentation\u002Fauthentication","1.documentation\u002F13.authentication","i-lucide-lock",false,{"title":74,"path":75,"stem":76,"children":77,"icon":72},"Support","\u002Fsupport","2.support\u002F1.index",[78,80,85],{"title":74,"path":75,"stem":76,"icon":79},"i-lucide-life-buoy",{"title":81,"path":82,"stem":83,"icon":84},"Changelog","\u002Fsupport\u002Fchangelog","2.support\u002F2.changelog","i-lucide-scroll-text",{"title":86,"path":87,"stem":88,"icon":89},"Source & Credits","\u002Fsupport\u002Fsource-and-credits","2.support\u002F3.source-&-credits","i-lucide-award",{"id":91,"title":33,"body":92,"description":414,"extension":415,"links":416,"meta":417,"navigation":418,"path":34,"seo":419,"stem":35,"__hash__":420},"docs\u002F1.documentation\u002F06.deployment.md",{"type":93,"value":94,"toc":408},"minimark",[95,99,116,178,183,186,287,291,294,354,358,361,404],[96,97,98],"p",{},"Nuxt supports two deployment modes. Choose the one that fits your infrastructure.",[100,101,104],"callout",{"color":102,"icon":103},"info","i-lucide-lightbulb",[96,105,106,110,111,115],{},[107,108,109],"strong",{},"Recommended for this project: SSG."," Rosavo is a PWA where most navigation happens client-side via Vue Router after the initial load — only the root route is prerendered (",[112,113,114],"code",{},"nitro.prerender.routes","). SSG produces static files that can be served via CDN without a Node.js server, which is the simplest and most cost-effective setup for a PWA.",[117,118,119,138],"table",{},[120,121,122],"thead",{},[123,124,125,129,132,135],"tr",{},[126,127,128],"th",{},"Mode",[126,130,131],{},"Command",[126,133,134],{},"Output",[126,136,137],{},"Requires Node.js",[139,140,141,160],"tbody",{},[123,142,143,147,152,157],{},[144,145,146],"td",{},"SSR",[144,148,149],{},[112,150,151],{},"npm run build",[144,153,154],{},[112,155,156],{},".output\u002F",[144,158,159],{},"Yes",[123,161,162,165,170,175],{},[144,163,164],{},"SSG",[144,166,167],{},[112,168,169],{},"npm run generate",[144,171,172],{},[112,173,174],{},".output\u002Fpublic\u002F",[144,176,177],{},"No",[179,180,182],"h2",{"id":181},"mode-1-ssr-server-side-rendering","Mode 1: SSR (Server-Side Rendering)",[96,184,185],{},"Pages are rendered on the server at request time. Requires a Node.js runtime on the server.",[187,188,189,194,220,226,230,243,250,254,260],"steps",{},[190,191,193],"h3",{"id":192},"build-the-project","Build the project",[195,196,202],"pre",{"className":197,"code":198,"filename":199,"language":200,"meta":201,"style":201},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm run build\n","Terminal","bash","",[112,203,204],{"__ignoreMap":201},[205,206,209,213,217],"span",{"class":207,"line":208},"line",1,[205,210,212],{"class":211},"sBMFI","npm",[205,214,216],{"class":215},"sfazB"," run",[205,218,219],{"class":215}," build\n",[96,221,222,223,225],{},"Output is placed in the ",[112,224,156],{}," folder.",[190,227,229],{"id":228},"start-the-server","Start the server",[195,231,233],{"className":197,"code":232,"filename":199,"language":200,"meta":201,"style":201},"node .output\u002Fserver\u002Findex.mjs\n",[112,234,235],{"__ignoreMap":201},[205,236,237,240],{"class":207,"line":208},[205,238,239],{"class":211},"node",[205,241,242],{"class":215}," .output\u002Fserver\u002Findex.mjs\n",[96,244,245,246,249],{},"The app will be available at ",[112,247,248],{},"http:\u002F\u002Flocalhost:3000",".",[190,251,253],{"id":252},"deploy-the-output","Deploy the output",[96,255,256,257,259],{},"Upload the entire ",[112,258,156],{}," folder to your server and run the start command above. Options:",[261,262,263,270,280],"card-group",{},[264,265,267],"card",{"icon":46,"title":266},"Node.js Server",[96,268,269],{},"Run directly with Node.js or use a process manager like PM2 for production.",[264,271,274],{"icon":272,"title":273},"i-simple-icons-docker","Docker",[96,275,276,277,279],{},"Containerize the ",[112,278,156],{}," folder for consistent deployments across environments.",[264,281,284],{"icon":282,"title":283},"i-simple-icons-vercel","Vercel \u002F Render",[96,285,286],{},"Platforms with native Nuxt SSR support — connect your repo and deploy automatically.",[179,288,290],{"id":289},"mode-2-ssg-static-site-generation","Mode 2: SSG (Static Site Generation)",[96,292,293],{},"Pages are pre-rendered at build time into static HTML files. No Node.js required at runtime — deploy anywhere.",[187,295,296,300,314,320,324,330],{},[190,297,299],{"id":298},"generate-the-project","Generate the project",[195,301,303],{"className":197,"code":302,"filename":199,"language":200,"meta":201,"style":201},"npm run generate\n",[112,304,305],{"__ignoreMap":201},[205,306,307,309,311],{"class":207,"line":208},[205,308,212],{"class":211},[205,310,216],{"class":215},[205,312,313],{"class":215}," generate\n",[96,315,316,317,319],{},"Output is placed in ",[112,318,174],{}," as static files.",[190,321,323],{"id":322},"deploy-the-static-files","Deploy the static files",[96,325,326,327,329],{},"Upload the contents of ",[112,328,174],{}," to your hosting. Options:",[261,331,332,338,345],{},[264,333,335],{"icon":46,"title":334},"Static File Server",[96,336,337],{},"Serve with nginx, Apache, or any static file server.",[264,339,342],{"icon":340,"title":341},"i-lucide-file-code","CDN",[96,343,344],{},"Upload to any CDN — AWS S3 + CloudFront, Cloudflare Pages, etc.",[264,346,349],{"icon":347,"title":348},"i-simple-icons-netlify","Netlify \u002F GitHub Pages",[96,350,351,352,249],{},"Connect your repo and set the output directory to ",[112,353,174],{},[179,355,357],{"id":356},"platform-build-settings","Platform Build Settings",[96,359,360],{},"When deploying via Vercel, Netlify, or similar platforms:",[117,362,363,374],{},[120,364,365],{},[123,366,367,370,372],{},[126,368,369],{},"Setting",[126,371,146],{},[126,373,164],{},[139,375,376,389],{},[123,377,378,381,385],{},[144,379,380],{},"Build command",[144,382,383],{},[112,384,151],{},[144,386,387],{},[112,388,169],{},[123,390,391,394,399],{},[144,392,393],{},"Output directory",[144,395,396],{},[112,397,398],{},".output",[144,400,401],{},[112,402,403],{},".output\u002Fpublic",[405,406,407],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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":201,"searchDepth":208,"depth":409,"links":410},2,[411,412,413],{"id":181,"depth":409,"text":182},{"id":289,"depth":409,"text":290},{"id":356,"depth":409,"text":357},"Build and deploy the project for production using recommended methods.","md",null,{},{"icon":36},{"title":33,"description":414},"VviU7yyys0X5WPT-nK3U1jZI2iIOoVOb7b12cXh6kg4",[422,424],{"title":28,"path":29,"stem":30,"description":423,"icon":31,"children":-1},"Customize the project's appearance, assets, colors, and global styles.",{"title":38,"path":39,"stem":40,"description":425,"icon":41,"children":-1},"Learn how to work with APIs and integrate external services.",1784271367331]