[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"content:legacy:page:\u002Fposts\u002Fnuxt\u002Fenable-pwa-in-nuxt":3,"content:legacy:navigation":510,"content:legacy:surround:\u002Fposts\u002Fnuxt\u002Fenable-pwa-in-nuxt":795,"content:related-articles:Enable PWA and Service Worker in Nuxt":798},{"id":4,"title":5,"aside":6,"body":7,"categories":6,"category":494,"description":495,"duration":199,"extension":496,"footer":6,"header":6,"icon":6,"image":497,"main":6,"meta":500,"navigation":6,"path":501,"publishedAt":502,"seo":503,"sitemap":504,"stem":505,"tags":506,"toc":6,"top":508,"__hash__":509},"content\u002Fposts\u002Fnuxt\u002Fenable-pwa-in-nuxt.md","Enable PWA and Service Worker in Nuxt",null,{"type":8,"value":9,"toc":488},"minimark",[10,15,19,22,25,47,51,65,133,144,436,439,444,447,450,453,458,461,465,472,476,484],[11,12,14],"h2",{"id":13},"what-are-the-benefits-of-pwas","🔮 What are the benefits of PWAs?",[16,17,18],"p",{},"Progressive Web Apps (PWAs) offer a superior user experience compared to traditional websites, blurring the lines between web and native applications. By leveraging service workers and web app manifests, PWAs provide features like offline access, push notifications (if implemented), and an installable experience, all contributing to increased engagement and user retention.",[16,20,21],{},"This guide provides a detailed walkthrough on how to transform your Nuxt 3 application into a PWA, improving performance, providing offline capabilities, and making it installable on users' devices.",[16,23,24],{},"Before we dive in, let's briefly recap the benefits of building a PWA:",[26,27,28,32,35,38,41,44],"ul",{},[29,30,31],"li",{},"Installable: Users can add your website to their home screen for quick access, just like native apps.",[29,33,34],{},"Offline Functionality: Service workers cache assets, allowing your app to function even without an internet connection. Users will see at least a fallback experience.",[29,36,37],{},"Performance: PWAs are designed for speed and responsiveness, offering a smoother user experience.",[29,39,40],{},"SEO Benefits: PWAs are inherently SEO-friendly because they are websites at their core, and are designed with performance in mind.",[29,42,43],{},"Cross-Platform Compatibility: PWAs work on any device with a modern web browser.",[29,45,46],{},"Push Notifications (Optional): Keep users engaged with timely updates and notifications (requires additional configuration beyond the scope of this basic guide).",[11,48,50],{"id":49},"enabling-pwa-in-nuxt-3","🎉 Enabling PWA in Nuxt 3",[52,53,54],"ol",{},[29,55,56,57,64],{},"Install the ",[58,59,60],"strong",{},[61,62,63],"code",{},"@vite-pwa\u002Fnuxt"," module which handles the complexities of service worker generation and manifest configuration, simplifying the process.",[66,67,68,98,116],"code-group",{},[69,70,76],"pre",{"className":71,"code":72,"filename":73,"language":74,"meta":75,"style":75},"language-shell shiki shiki-themes github-light github-dark","  npm install @vite-pwa\u002Fnuxt -D\n","npm","shell","",[61,77,78],{"__ignoreMap":75},[79,80,83,87,91,94],"span",{"class":81,"line":82},"line",1,[79,84,86],{"class":85},"sScJk","  npm",[79,88,90],{"class":89},"sZZnC"," install",[79,92,93],{"class":89}," @vite-pwa\u002Fnuxt",[79,95,97],{"class":96},"sj4cs"," -D\n",[69,99,102],{"className":71,"code":100,"filename":101,"language":74,"meta":75,"style":75},"  yarn add @vite-pwa\u002Fnuxt -D\n","yarn",[61,103,104],{"__ignoreMap":75},[79,105,106,109,112,114],{"class":81,"line":82},[79,107,108],{"class":85},"  yarn",[79,110,111],{"class":89}," add",[79,113,93],{"class":89},[79,115,97],{"class":96},[69,117,120],{"className":71,"code":118,"filename":119,"language":74,"meta":75,"style":75},"  pnpm add @vite-pwa\u002Fnuxt -D\n","pnpm",[61,121,122],{"__ignoreMap":75},[79,123,124,127,129,131],{"class":81,"line":82},[79,125,126],{"class":85},"  pnpm",[79,128,111],{"class":89},[79,130,93],{"class":89},[79,132,97],{"class":96},[52,134,136],{"start":135},2,[29,137,138,139,143],{},"Next, add the ",[58,140,141],{},[61,142,63],{}," module to your nuxt.config.ts file:",[69,145,150],{"className":146,"code":147,"filename":148,"language":149,"meta":75,"style":75},"language-ts shiki shiki-themes github-light github-dark","export default defineNuxtConfig({\n  modules: ['@vite-pwa\u002Fnuxt'],\n  pwa: {\n    registerType: 'autoUpdate',\n    manifest: {\n      name: 'My Awesome Nuxt PWA',\n      short_name: 'Nuxt PWA',\n      description: 'A simple Nuxt 3 PWA example.',\n      theme_color: '#ffffff',\n      start_url: '\u002Fcustom_url', \u002F\u002F default '\u002F'\n      icons: [\n        {\n          src: 'pwa-192x192.png',\n          sizes: '192x192',\n          type: 'image\u002Fpng',\n        },\n        {\n          src: 'pwa-512x512.png',\n          sizes: '512x512',\n          type: 'image\u002Fpng',\n          purpose: 'any maskable',\n        },\n      ],\n    },\n    workbox: {\n      globPatterns: ['**\u002F*.{js,css,html,png,svg,ico}'], \u002F\u002F Define files to cache for offline availability\n    },\n    devOptions: {\n      enabled: true,\n    },\n  },\n})\n","nuxt.config.ts","ts",[61,151,152,168,179,185,197,203,214,225,236,247,263,269,275,286,297,308,314,319,329,339,348,359,364,370,376,382,397,402,408,419,424,430],{"__ignoreMap":75},[79,153,154,158,161,164],{"class":81,"line":82},[79,155,157],{"class":156},"szBVR","export",[79,159,160],{"class":156}," default",[79,162,163],{"class":85}," defineNuxtConfig",[79,165,167],{"class":166},"sVt8B","({\n",[79,169,170,173,176],{"class":81,"line":135},[79,171,172],{"class":166},"  modules: [",[79,174,175],{"class":89},"'@vite-pwa\u002Fnuxt'",[79,177,178],{"class":166},"],\n",[79,180,182],{"class":81,"line":181},3,[79,183,184],{"class":166},"  pwa: {\n",[79,186,188,191,194],{"class":81,"line":187},4,[79,189,190],{"class":166},"    registerType: ",[79,192,193],{"class":89},"'autoUpdate'",[79,195,196],{"class":166},",\n",[79,198,200],{"class":81,"line":199},5,[79,201,202],{"class":166},"    manifest: {\n",[79,204,206,209,212],{"class":81,"line":205},6,[79,207,208],{"class":166},"      name: ",[79,210,211],{"class":89},"'My Awesome Nuxt PWA'",[79,213,196],{"class":166},[79,215,217,220,223],{"class":81,"line":216},7,[79,218,219],{"class":166},"      short_name: ",[79,221,222],{"class":89},"'Nuxt PWA'",[79,224,196],{"class":166},[79,226,228,231,234],{"class":81,"line":227},8,[79,229,230],{"class":166},"      description: ",[79,232,233],{"class":89},"'A simple Nuxt 3 PWA example.'",[79,235,196],{"class":166},[79,237,239,242,245],{"class":81,"line":238},9,[79,240,241],{"class":166},"      theme_color: ",[79,243,244],{"class":89},"'#ffffff'",[79,246,196],{"class":166},[79,248,250,253,256,259],{"class":81,"line":249},10,[79,251,252],{"class":166},"      start_url: ",[79,254,255],{"class":89},"'\u002Fcustom_url'",[79,257,258],{"class":166},", ",[79,260,262],{"class":261},"sJ8bj","\u002F\u002F default '\u002F'\n",[79,264,266],{"class":81,"line":265},11,[79,267,268],{"class":166},"      icons: [\n",[79,270,272],{"class":81,"line":271},12,[79,273,274],{"class":166},"        {\n",[79,276,278,281,284],{"class":81,"line":277},13,[79,279,280],{"class":166},"          src: ",[79,282,283],{"class":89},"'pwa-192x192.png'",[79,285,196],{"class":166},[79,287,289,292,295],{"class":81,"line":288},14,[79,290,291],{"class":166},"          sizes: ",[79,293,294],{"class":89},"'192x192'",[79,296,196],{"class":166},[79,298,300,303,306],{"class":81,"line":299},15,[79,301,302],{"class":166},"          type: ",[79,304,305],{"class":89},"'image\u002Fpng'",[79,307,196],{"class":166},[79,309,311],{"class":81,"line":310},16,[79,312,313],{"class":166},"        },\n",[79,315,317],{"class":81,"line":316},17,[79,318,274],{"class":166},[79,320,322,324,327],{"class":81,"line":321},18,[79,323,280],{"class":166},[79,325,326],{"class":89},"'pwa-512x512.png'",[79,328,196],{"class":166},[79,330,332,334,337],{"class":81,"line":331},19,[79,333,291],{"class":166},[79,335,336],{"class":89},"'512x512'",[79,338,196],{"class":166},[79,340,342,344,346],{"class":81,"line":341},20,[79,343,302],{"class":166},[79,345,305],{"class":89},[79,347,196],{"class":166},[79,349,351,354,357],{"class":81,"line":350},21,[79,352,353],{"class":166},"          purpose: ",[79,355,356],{"class":89},"'any maskable'",[79,358,196],{"class":166},[79,360,362],{"class":81,"line":361},22,[79,363,313],{"class":166},[79,365,367],{"class":81,"line":366},23,[79,368,369],{"class":166},"      ],\n",[79,371,373],{"class":81,"line":372},24,[79,374,375],{"class":166},"    },\n",[79,377,379],{"class":81,"line":378},25,[79,380,381],{"class":166},"    workbox: {\n",[79,383,385,388,391,394],{"class":81,"line":384},26,[79,386,387],{"class":166},"      globPatterns: [",[79,389,390],{"class":89},"'**\u002F*.{js,css,html,png,svg,ico}'",[79,392,393],{"class":166},"], ",[79,395,396],{"class":261},"\u002F\u002F Define files to cache for offline availability\n",[79,398,400],{"class":81,"line":399},27,[79,401,375],{"class":166},[79,403,405],{"class":81,"line":404},28,[79,406,407],{"class":166},"    devOptions: {\n",[79,409,411,414,417],{"class":81,"line":410},29,[79,412,413],{"class":166},"      enabled: ",[79,415,416],{"class":96},"true",[79,418,196],{"class":166},[79,420,422],{"class":81,"line":421},30,[79,423,375],{"class":166},[79,425,427],{"class":81,"line":426},31,[79,428,429],{"class":166},"  },\n",[79,431,433],{"class":81,"line":432},32,[79,434,435],{"class":166},"})\n",[16,437,438],{},"The manifest file requires you to specify icons for your PWA. Create icons in various sizes (e.g., 192x192, 512x512) and place them in the public directory of your Nuxt project. Name them according to the paths specified in the manifest.icons array in nuxt.config.ts. Using a tool like RealFaviconGenerator can help you generate all the necessary icons and the appropriate HTML meta tags (though we're mostly bypassing that here by letting the module handle the manifest).",[52,440,441],{"start":181},[29,442,443],{},"Build and Test Your PWA",[16,445,446],{},"Now, build your Nuxt application. After the build process completes, you can serve your application using a static file server or your usual development server. For testing purposes, the Nuxt development server is sufficient when devOptions.enabled is set to true.",[16,448,449],{},"Open your application in a browser that supports PWAs (e.g., Chrome, Firefox, Safari). You should see an \"Install\" button or prompt in the browser's address bar or menu. Clicking this button will allow you to install your PWA on your device.",[16,451,452],{},"To further verify that your PWA is working correctly, open the Chrome DevTools (or your browser's equivalent) and navigate to the \"Application\" tab. Here, you can inspect the manifest file, service worker, and cached assets. Simulate offline mode to test the offline capabilities of your PWA.",[52,454,455],{"start":187},[29,456,457],{},"Deploying Your PWA",[16,459,460],{},"Once you're satisfied with your PWA, you can deploy it to a web server just like any other website. Most modern web servers do this automatically. Also make sure HTTPS is enabled! Service workers only work on secure origins.",[11,462,464],{"id":463},"sample-demo","🎮 Sample demo",[466,467],"playground",{"branch":468,"file":469,"provider":470,"repo":471},"main","playground\u002Fapp.vue","stackblitz","vite-pwa\u002Fnuxt",[11,473,475],{"id":474},"conclusion","🎯 Conclusion",[16,477,478,479,483],{},"By following these steps, you can easily transform your Nuxt 3 application into a PWA, providing a better user experience and enhancing its capabilities. Remember to test your PWA thoroughly on different devices and browsers to ensure it functions correctly. The ",[58,480,481],{},[61,482,63],{}," module simplifies the process, but understanding the underlying concepts of PWAs, service workers, and web app manifests is crucial for building robust and effective progressive web applications.",[485,486,487],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":75,"searchDepth":135,"depth":135,"links":489},[490,491,492,493],{"id":13,"depth":135,"text":14},{"id":49,"depth":135,"text":50},{"id":463,"depth":135,"text":464},{"id":474,"depth":135,"text":475},"nuxt","A comprehensive guide to implementing Progressive Web App features in Nuxt 3.","md",{"src":498,"alt":499},"https:\u002F\u002Fraw.githubusercontent.com\u002Ffullstack-core\u002Fblog\u002Frefs\u002Fheads\u002Fmain\u002Fblog\u002Fcover\u002Fenable-pwa-in-nuxt.png","PWA_Nuxt_image",{},"\u002Fposts\u002Fnuxt\u002Fenable-pwa-in-nuxt","2025-07-01",{"title":5,"description":495},{"loc":501,"lastmod":502},"posts\u002Fnuxt\u002Fenable-pwa-in-nuxt",[494,507],"tutorial",false,"4tE3C2Rc4oeUeINIyzkS7oD9yEUzc4tfvP3KQ7Jf9Sg",[511,627,635,774],{"title":512,"icon":513,"path":514,"stem":515,"children":516,"page":508},"Cheatsheets","fluent-color:paw-16","\u002Fcheatsheets","cheatsheets",[517,522,527,532,537,542,547,552,557,562,567,572,577,582,587,592,597,602,607,612,617,622],{"title":518,"path":519,"stem":520,"icon":521},"Bash","\u002Fcheatsheets\u002Fbash","cheatsheets\u002Fbash","material-icon-theme:powershell",{"title":523,"path":524,"stem":525,"icon":526},"CSS","\u002Fcheatsheets\u002Fcss","cheatsheets\u002Fcss","vscode-icons:file-type-css2",{"title":528,"path":529,"stem":530,"icon":531},"Docker","\u002Fcheatsheets\u002Fdocker","cheatsheets\u002Fdocker","vscode-icons:file-type-docker2",{"title":533,"path":534,"stem":535,"icon":536},"Git","\u002Fcheatsheets\u002Fgit","cheatsheets\u002Fgit","devicon:git",{"title":538,"path":539,"stem":540,"icon":541},"Golang","\u002Fcheatsheets\u002Fgo","cheatsheets\u002Fgo","material-icon-theme:go",{"title":543,"path":544,"stem":545,"icon":546},"HTML","\u002Fcheatsheets\u002Fhtml","cheatsheets\u002Fhtml","material-icon-theme:html",{"title":548,"path":549,"stem":550,"icon":551},"JavaScript","\u002Fcheatsheets\u002Fjavascript","cheatsheets\u002Fjavascript","material-icon-theme:javascript",{"title":553,"path":554,"stem":555,"icon":556},"Latex","\u002Fcheatsheets\u002Flatex","cheatsheets\u002Flatex","material-icon-theme:latexmk",{"title":558,"path":559,"stem":560,"icon":561},"Linux","\u002Fcheatsheets\u002Flinux","cheatsheets\u002Flinux","devicon:linux",{"title":563,"path":564,"stem":565,"icon":566},"Markdown","\u002Fcheatsheets\u002Fmarkdown","cheatsheets\u002Fmarkdown","material-icon-theme:markdown",{"title":568,"path":569,"stem":570,"icon":571},"Mongo","\u002Fcheatsheets\u002Fmongo","cheatsheets\u002Fmongo","devicon:mongodb",{"title":573,"path":574,"stem":575,"icon":576},"Nest","\u002Fcheatsheets\u002Fnest","cheatsheets\u002Fnest","material-icon-theme:nest",{"title":578,"path":579,"stem":580,"icon":581},"Next","\u002Fcheatsheets\u002Fnext","cheatsheets\u002Fnext","logos:nextjs-icon",{"title":583,"path":584,"stem":585,"icon":586},"Node","\u002Fcheatsheets\u002Fnode","cheatsheets\u002Fnode","material-icon-theme:nodejs",{"title":588,"path":589,"stem":590,"icon":591},"Nuxt","\u002Fcheatsheets\u002Fnuxt","cheatsheets\u002Fnuxt","material-icon-theme:nuxt",{"title":593,"path":594,"stem":595,"icon":596},"React","\u002Fcheatsheets\u002Freact","cheatsheets\u002Freact","material-icon-theme:react",{"title":598,"path":599,"stem":600,"icon":601},"Redis","\u002Fcheatsheets\u002Fredis","cheatsheets\u002Fredis","vscode-icons:folder-type-redis-opened",{"title":603,"path":604,"stem":605,"icon":606},"SQL","\u002Fcheatsheets\u002Fsql","cheatsheets\u002Fsql","material-icon-theme:database",{"title":608,"path":609,"stem":610,"icon":611},"Typescript","\u002Fcheatsheets\u002Ftypescript","cheatsheets\u002Ftypescript","material-icon-theme:typescript",{"title":613,"path":614,"stem":615,"icon":616},"Vercel","\u002Fcheatsheets\u002Fvercel","cheatsheets\u002Fvercel","vscode-icons:file-type-light-vercel",{"title":618,"path":619,"stem":620,"icon":621},"Vue","\u002Fcheatsheets\u002Fvue","cheatsheets\u002Fvue","material-icon-theme:vue",{"title":623,"path":624,"stem":625,"icon":626},"Windows","\u002Fcheatsheets\u002Fwindow","cheatsheets\u002Fwindow","material-icon-theme:folder-windows",{"title":628,"icon":513,"path":629,"stem":630,"children":631,"page":508},"Interviews","\u002Finterviews","interviews",[632],{"title":543,"path":633,"stem":634,"icon":546},"\u002Finterviews\u002Fhtml","interviews\u002Fhtml",{"title":636,"icon":637,"path":638,"stem":639,"children":640,"page":508},"Posts","fluent-color:data-bar-vertical-ascending-24","\u002Fposts","posts",[641,650,666,692,700,713,722,728,738,764],{"title":642,"icon":606,"redirect":643,"path":644,"stem":645,"children":646,"page":508},"Database","\u002Fposts\u002Fdatabase\u002Freplication-strategy","\u002Fposts\u002Fdatabase","posts\u002Fdatabase",[647],{"title":648,"path":643,"stem":649,"icon":6},"Database Replication strategy in large systems","posts\u002Fdatabase\u002Freplication-strategy",{"title":528,"icon":531,"redirect":651,"path":652,"stem":653,"children":654,"page":508},"\u002Fposts\u002Fdocker\u002Fdocker-commands","\u002Fposts\u002Fdocker","posts\u002Fdocker",[655,658,662],{"title":656,"path":651,"stem":657,"icon":6},"Docker commands essentials","posts\u002Fdocker\u002Fdocker-commands",{"title":659,"path":660,"stem":661,"icon":6},"Some useful Dockerfile templates","\u002Fposts\u002Fdocker\u002Fdockerfile-templates","posts\u002Fdocker\u002Fdockerfile-templates",{"title":663,"path":664,"stem":665,"icon":6},"Setup Docker environment on Windows","\u002Fposts\u002Fdocker\u002Fsetup-docker-on-window","posts\u002Fdocker\u002Fsetup-docker-on-window",{"title":667,"icon":668,"redirect":669,"path":670,"stem":671,"children":672,"page":508},"Git & GitHub","material-icon-theme:git","\u002Fposts\u002Fgit\u002Fbrightly-decorate-graph","\u002Fposts\u002Fgit","posts\u002Fgit",[673,676,680,684,688],{"title":674,"path":669,"stem":675,"icon":6},"Brightly decorate your GitHub Graph","posts\u002Fgit\u002Fbrightly-decorate-graph",{"title":677,"path":678,"stem":679,"icon":6},"Download a specific folder on GitHub repository","\u002Fposts\u002Fgit\u002Fdownload-specific-folder","posts\u002Fgit\u002Fdownload-specific-folder",{"title":681,"path":682,"stem":683,"icon":6},"Syncing Git Tags across to other repositories","\u002Fposts\u002Fgit\u002Fsyncing-tags-across-repositories","posts\u002Fgit\u002Fsyncing-tags-across-repositories",{"title":685,"path":686,"stem":687,"icon":6},"Unlocking GitHub Achievement badges","\u002Fposts\u002Fgit\u002Funlocking-achievement-badges","posts\u002Fgit\u002Funlocking-achievement-badges",{"title":689,"path":690,"stem":691,"icon":6},"Essential Git commands every developer should master","\u002Fposts\u002Fgit\u002Fuseful-commands-like-pro","posts\u002Fgit\u002Fuseful-commands-like-pro",{"title":538,"icon":541,"redirect":693,"path":694,"stem":695,"children":696,"page":508},"\u002Fposts\u002Fgolang\u002Foptimizing-performance-with-pgo","\u002Fposts\u002Fgolang","posts\u002Fgolang",[697],{"title":698,"path":693,"stem":699,"icon":6},"Optimizing Performance in Go Applications with PGO","posts\u002Fgolang\u002Foptimizing-performance-with-pgo",{"title":548,"icon":701,"redirect":702,"path":703,"stem":704,"children":705,"page":508},"vscode-icons:file-type-js","\u002Fposts\u002Fjavascript\u002F9-lines-of-tips","\u002Fposts\u002Fjavascript","posts\u002Fjavascript",[706,709],{"title":707,"path":702,"stem":708,"icon":6},"9 lines of JavaScript replace 50 lines of code","posts\u002Fjavascript\u002F9-lines-of-tips",{"title":710,"path":711,"stem":712,"icon":6},"Javascript Promises - Specific functions and use cases","\u002Fposts\u002Fjavascript\u002Fpromises-cheatsheet","posts\u002Fjavascript\u002Fpromises-cheatsheet",{"title":583,"icon":714,"redirect":715,"path":716,"stem":717,"children":718,"page":508},"material-icon-theme:nodejs-alt","\u002Fposts\u002Fnodejs\u002Fevent-loop","\u002Fposts\u002Fnodejs","posts\u002Fnodejs",[719],{"title":720,"path":715,"stem":721,"icon":6},"Secret about Event Loop flow in Nodejs","posts\u002Fnodejs\u002Fevent-loop",{"title":588,"icon":723,"redirect":501,"path":724,"stem":725,"children":726,"page":508},"vscode-icons:file-type-nuxt","\u002Fposts\u002Fnuxt","posts\u002Fnuxt",[727],{"title":5,"path":501,"stem":505,"icon":6},{"title":729,"icon":730,"redirect":731,"path":732,"stem":733,"children":734,"page":508},"Performance","emojione:rocket","\u002Fposts\u002Fperformance\u002Fbackground-image-injection-problem","\u002Fposts\u002Fperformance","posts\u002Fperformance",[735],{"title":736,"path":731,"stem":737,"icon":6},"Background-Image injection problem in UX","posts\u002Fperformance\u002Fbackground-image-injection-problem",{"title":739,"icon":740,"redirect":741,"path":742,"stem":743,"children":744,"page":508},"Tutorial","fluent-color:book-open-lightbulb-24","\u002Fposts\u002Ftutorial\u002Fclassification-and-functionality-of-the-servers","\u002Fposts\u002Ftutorial","posts\u002Ftutorial",[745,748,752,756,760],{"title":746,"path":741,"stem":747,"icon":6},"Classification and functionality of the servers","posts\u002Ftutorial\u002Fclassification-and-functionality-of-the-servers",{"title":749,"path":750,"stem":751,"icon":6},"What is the difference between localhost and 127.0.0.1?","\u002Fposts\u002Ftutorial\u002Fdifferent-between-localhost-and-127-0-0-1","posts\u002Ftutorial\u002Fdifferent-between-localhost-and-127-0-0-1",{"title":753,"path":754,"stem":755,"icon":6},"8 essential network protocols every programmer should know","\u002Fposts\u002Ftutorial\u002Fessential-network-protocols","posts\u002Ftutorial\u002Fessential-network-protocols",{"title":757,"path":758,"stem":759,"icon":6},"Pre rels in header link tag - SEO technique enhancement","\u002Fposts\u002Ftutorial\u002Fpre-rels-in-header-link-tag","posts\u002Ftutorial\u002Fpre-rels-in-header-link-tag",{"title":761,"path":762,"stem":763,"icon":6},"Better code with SOLID principles","\u002Fposts\u002Ftutorial\u002Fwhat-is-solid","posts\u002Ftutorial\u002Fwhat-is-solid",{"title":765,"icon":766,"redirect":767,"path":768,"stem":769,"children":770,"page":508},"UI\u002FUX","devicon:figma","\u002Fposts\u002Fuiux\u002Fcommon-button-mistake","\u002Fposts\u002Fuiux","posts\u002Fuiux",[771],{"title":772,"path":767,"stem":773,"icon":6},"Common Button Mistake in UI\u002FUX","posts\u002Fuiux\u002Fcommon-button-mistake",{"title":775,"icon":776,"path":777,"stem":778,"children":779,"page":508},"Templates","fluent-color:data-pie-24","\u002Ftemplates","templates",[780,783,786,789,792],{"title":538,"path":781,"stem":782,"icon":541},"\u002Ftemplates\u002Fgo","templates\u002Fgo",{"title":578,"path":784,"stem":785,"icon":581},"\u002Ftemplates\u002Fnext","templates\u002Fnext",{"title":588,"path":787,"stem":788,"icon":591},"\u002Ftemplates\u002Fnuxt","templates\u002Fnuxt",{"title":593,"path":790,"stem":791,"icon":596},"\u002Ftemplates\u002Freact","templates\u002Freact",{"title":618,"path":793,"stem":794,"icon":621},"\u002Ftemplates\u002Fvue","templates\u002Fvue",[796,797],{"title":720,"path":715,"stem":721,"children":-1},{"title":736,"path":731,"stem":737,"children":-1},[]]