# Vueschool Documentation

Source: https://vueschool.io/llms-full.txt

---


## Articles and Tutorials

Vue School maintains an extensive blog with tutorials, best practices, and insights into Vue.js and modern web development.

### Recent Articles

- **How to Customize the Nuxt UI Design System**: Nuxt UI is wired to embrace your branding. The library layers Tailwind CSS, semantic design tokens, and a powerful variant system so you can evolve colors, typography, spacing, and component styles without forking core styles. This guide walks through the most important levers—covering the Nuxt design system, semantic colors, slot-level overrides, simple and compound variants, [&hellip;]
  URL: /vuejs-tutorials/how-to-customize-the-nuxt-ui-design-system/
- **Vue School Black Friday 2025 – 60% Off + $2000+ in Bonuses**: Vue School’s Black Friday 2025 celebration is officially here, and it’s the most generous offer we’ve ever put together. This limited-time deal delivers 60% off a Yearly or Lifetime plan plus more than $2,000 in premium bonuses — so you can sharpen your Vue, Nuxt, and full-stack skills while the rest of the industry scrambles [&hellip;]
  URL: /news/vue-school-black-friday-2025-60-off-1820-in-bonuses/
- **Vue School Free Weekend 2025 &#8211; Learn Vue for $0!**: Looking to build your first Vue.js application but don&#8217;t know where to start? You&#8217;re in luck! Vue School is hosting it&#8217;s infamous free weekend November 8-9.That means you can learn Vue from scratch for free, plus dive into all of Vue School&#8217;s premium courses without spending a dime. Getting Started with Vue For Beginners Vue [&hellip;]
  URL: /news/vue-school-free-weekend-2025-learn-vue-for-0/
- **The Right Package Manager Commands, Faster with Ni**: Have you ever run npm install in a Yarn project by mistake? Or typed yarn add when you meant pnpm add? Context-switching between projects with different package managers is a common source of friction for JavaScript developers. Enter ni (pronounced &quot;nee&quot;, I think 🤔) &#8211; a brilliant utility that automatically detects which package manager your [&hellip;]
  URL: /vuejs-tutorials/the-right-package-manager-commands-faster-with-ni/
- **What is Vite + And What Does it Mean for Vue Developers?**: If you&#8217;re a Vue developer, you&#8217;re likely already familiar with Vite, the lightning-fast build tool that became the default for Vue 3 projects. But on October 13th, 2025, Evan You and the VoidZero team announced something that&#8217;s about to transform the entire Vue development experience: Vite+. What is Vite+? Vite+ is a unified toolchain for [&hellip;]
  URL: /news/what-is-vite-and-what-does-it-mean-for-vue-developers/
- **Writing Custom Vue ESLint Rules and Why?**: Linting is one of those developer‐tools that often gets taken for granted — you install ESLint, pick a config (probably the one from eslint‑plugin‑vue and/or some other popular ones), and you’re off to the races. But what happens when you’re working on a medium/large-Vue project (or team) with domain-specific patterns, or anti‐patterns that you keep [&hellip;]
  URL: /vuejs-tutorials/writing-custom-vue-eslint-rules-and-why/
- **Video Thumbnail Generator Vue Component with MediaBunny**: Introduction Building a video thumbnail generator might sound like a complex task requiring server-side infrastructure, but with modern browser APIs and powerful libraries like MediaBunny, we can create a fully client-side solution that&#8217;s fast, private, and cost-effective. In this tutorial, we&#8217;ll walk through building a complete video thumbnail generator application using Vue 3&#8217;s Composition API, [&hellip;]
  URL: /vuejs-tutorials/video-thumbnail-generator-vue-component-with-mediabunny/
- **Passkeys in Nuxt &#8211; The BEST Login UX**: This guide walks you through what passkeys are, why they matter, and how to implement a full passkey (WebAuthn) auth flow in Nuxt 4 using Nuxt Auth Utils, Drizzle ORM (SQLite/libSQL), and Nuxt UI. TLDR: Checkout the repo here to see the fully functional codebase and/or visit the demo site to try it out for [&hellip;]
  URL: /vuejs-tutorials/passkeys-in-nuxt-the-best-login-ux/
- **Smarter Data Fetching with Pinia Colada**: If you love Pinia but find yourself re-implementing cache, dedupe, loading/error states, optimistic updates, and other common async data needs, Pinia Colada is the missing layer that makes async state feel… effortless. Why Pinia Colada? Pinia Colada is a tiny, type-safe data-fetching layer built on top of Pinia. It gives you: Automatic caching + request [&hellip;]
  URL: /vuejs-tutorials/smarter-data-fetching-with-pinia-colada/
- **How to Copy to Clipboard In Vue**: Copy-to-clipboard is a tiny UX win that makes apps feel polished—share links, copy API keys, invite codes, or code snippets. The easiest way to ship it in Vue is with VueUse’s useClipboard composable. After that, we’ll cover zero-dependency (native) patterns, a directive, SSR gotchas, and accessibility tips. TL;DR &#8211; The Simplest Way to Implement Copy [&hellip;]
  URL: /vuejs-tutorials/how-to-copy-to-clipboard-in-vue/
- **State Based Favicons (Tab Alerts) in Vue**: Give your users a tiny, delightful heads‑up—even when the tab is in the background. In this guide, you’ll learn pragmatic patterns to turn application state (unread counts, errors, recording, online/offline, progress) into dynamic favicons in Vue and Nuxt. TL;DR: With VueUse’s useFavicon, you can dynamically change out favicons with ease. This alone is enough for [&hellip;]
  URL: /vuejs-tutorials/state-based-favicons-tab-alerts-in-vue/
- **Master AI-Driven Development: Free Online AIDD Day 2025**: AI isn’t just a buzzword—it’s transforming how we write software. Are you keeping pace? AIDD Day 2025, a free online event, is your front‑row seat to mastering AI‑Driven Development (AIDD). Hosted by the creators of Vue School and BitterBrains, this immersive, six‑hour experience equips you with the tools, workflows, and vision to ship smarter, faster [&hellip;]
  URL: /news/master-ai-driven-development-free-online-aidd-day-2025/
- **Accessible Alerts, Dialogs, and Alert Dialogs with ShadCN Vue**: Let’s talk about alerts, dialogs, and alert dialogs with ShadCN-Vue. When are they useful? How do you use them? And what about accessibility? 👉 If you’d like more info on Shadcn Vue or prefer learning via video, we’ve got a full course dedicated to this topic and more. Check it out! Understand the differences — Alerts, [&hellip;]
  URL: /vuejs-tutorials/accessible-alerts-dialogs-and-alert-dialogs-with-shadcn-vue/
- **How To Run Scheduled Tasks in Nuxt on Netlify &#8211; The Hacky Way … for now…**: Nitro (and thus Nuxt) has experimental support for scheduled tasks. However, if you&#8217;re deploying to Netlify, you&#8217;ll quickly discover that Nitro&#8217;s scheduledTasks feature doesn&#8217;t work yet. Don&#8217;t worry though &#8211; there&#8217;s a workaround that&#8217;s actually quite elegant! The Problem with Nitro&#8217;s Scheduled Tasks Nitro&#8217;s experimental tasks feature allows you to define scheduled jobs directly in [&hellip;]
  URL: /uncategorized/how-to-run-scheduled-tasks-in-nuxt-on-netlify-the-hacky-way-for-now/
- **Accessing Netlify Edge Context in Nuxt (and Why You Might Want To)**: Nitro abstracts away a lot of platform functionality like key-value storage, route caching, and more. But not all of it! There&#8217;s more useful information available to us in the Netlify function context. Netlify Functions and Edge Functions expose a runtime context with geolocation, client IP, cookies, site metadata, and more. You can read this context [&hellip;]
  URL: /uncategorized/accessing-netlify-edge-context-in-nuxt-and-why-you-might-want-to/
- **As Developers, Will AI Make Us Think Less? Based On MIT Research**: Introduction Is AI turning developers into code-copying robots? A 2025 MIT study sparked panic with claims that tools like ChatGPT lower brain activity, suggesting we’re getting “dumber.” For developers, this sounds scary—relying on AI could dull your skills, right? Wrong. The study’s been misread by many people online, some perhaps hyping claims for attention on [&hellip;]
  URL: /uncategorized/as-developers-will-ai-make-us-think-less-based-on-mit-research/
- **Why AI responses Are Never the Same and How to Fix It for Developers**: Introduction Ever asked an AI like ChatGPT or Gemini a question and got a vague or off-topic answer? It’s frustrating when tools like GPT-4o, Claude, Grok, etc., don’t deliver what you need. This guide explains why AI struggles to answer questions and shares practical ways to improve its responses. You’ll learn how to make AI [&hellip;]
  URL: /vuejs-tutorials/why-ai-responses-are-never-the-same-and-how-to-fix-it-for-developers/
- **From CSS to Shaders**: Picture this: you&#8217;re building a modern web interface and want to create an interactive card that responds to user hover with smooth, rippling effects that follow the cursor. The kind of polished interaction where the effect feels fluid, responsive, and almost magical in its smoothness. Your first instinct, like most frontend developers, is probably to [&hellip;]
  URL: /vuejs-tutorials/from-css-to-shaders/
- **RAG for Vue.js and Nuxt.js: What It Is and How to Use It**: Introduction Want to make your Vue.js or Nuxt.js apps smarter with AI? Retrieval-Augmented Generation (RAG) combines search and AI to create chatbots or search tools that give accurate, up-to-date answers. Unlike basic AI models, RAG pulls in external data, making it perfect for web apps like a Vue.js blog with a smart Q&amp;A feature. This [&hellip;]
  URL: /news/rag-for-vue-js-and-nuxt-js-what-it-is-and-how-to-use-it/
- **Building Shader Effects in Vue**: Picture this: you&#8217;re building a modern web interface and want to create an interactive card that responds to user hover with smooth, rippling effects that follow the cursor. The kind of polished interaction where the effect feels fluid, responsive, and almost magical in its smoothness. Your first instinct is probably to reach for CSS and [&hellip;]
  URL: /news/building-shader-effects-in-vue/
- **Fixing “Cannot read properties of undefined (reading &#8216;value&#8217;)” in Vue**: If you’ve ever seen this error in a Vue 3 app, you’re not along. Uncaught TypeError: Cannot read properties of undefined (reading &#039;value&#039;) This error is one of the most common and frustrating errors developers run into when working with the Composition API — especially with ref() or reactive data. In this post, we’ll break [&hellip;]
  URL: /vuejs-tutorials/fixing-cannot-read-properties-of-undefined-reading-value-in-vue/
- **Decoding ChatGPT: How It Works and Why It Matters for Developers**: Introduction ChatGPT, powered by GPT-4o in 2025, has redefined what AI can do, generating human-like text, code, and images with remarkable fluency. For developers, including those working with Vue.js, understanding ChatGPT’s inner workings unlocks its potential to streamline tasks like debugging or content creation. But how does it produce such coherent outputs, and why is [&hellip;]
  URL: /vuejs-tutorials/decoding-chatgpt-how-it-works-and-why-it-matters-for-developers/
- **Top 5 Vue CSS Superpowers You Might Be Missing**: Vue isn’t just reactive. It’s also stylish. Between first-class styling features and plug-and-play animation libraries, Vue empowers you to build beautiful interfaces without bloat. Here are 5 styling tricks and tools every modern Vue developer should have on their radar. Let the countdown begin! 5. Custom Scoped Styles Selectors Scoped styles in Vue prevent your [&hellip;]
  URL: /vuejs-tutorials/top-5-vue-css-superpowers-you-might-be-missing/
- **Traditional Human Computer Interaction (HCI) vs Human-AI Interaction (HAII) and Why Vue.js Developers Should Care**: Introduction As Artificial Intelligence (AI) transforms web applications, Vue.js and Nuxt.js developers are tasked with crafting interfaces that go beyond traditional user experiences. Human-Computer Interaction (HCI) has long guided the design of predictable, static interfaces, like form submissions in a Vue.js app. However, Human-AI Interaction (HAII) introduces dynamic, collaborative systems—think AI-powered chatbots or recommendation engines [&hellip;]
  URL: /news/traditional-human-computer-interaction-hci-vs-human-ai-interaction-haii-and-why-vue-js-developers-should-care/
- **Send Real-Time Events from Browser to Vite Dev Server**: Ever wanted your browser to talk directly to the Vite dev server? Whether you&#8217;re building custom devtools, triggering rebuilds, or just logging user behavior during development — it&#8217;s totally possible using Vite’s built-in WebSocket connection. The Vite Dev Server&#8217;s Built-in Websocket Connection Vite&#8217;s dev server runs a WebSocket behind the scenes to power features like [&hellip;]
  URL: /vuejs-tutorials/how-to-send-real-time-custom-events-from-the-browser-a-vite-dev-server/
- **GitHub Login in Under 10 Mins with Nuxt Auth Utils**: Adding social authentication to your Nuxt 3 application can significantly improve the user experience. Nuxt Auth Utils is a powerful module that simplifies this process, offering secured and sealed cookie sessions. This guide will walk you through setting up GitHub login with Nuxt Auth Utils. What is Nuxt Auth Utils? Nuxt Auth Utils is a [&hellip;]
  URL: /vuejs-tutorials/github-login-in-under-10-mins-with-nuxt-auth-utils/
- **A Custom Opinionated Event Handler for Nuxt API Endpoints with Guards And Validation Support**: How would you like to write Nuxt API endpoints with opinionated features like payload validation and route-specific middleware? In other words, does writing API endpoints like this appeal to you? // server/api/todos/index.get.ts import { z } from &#039;zod&#039; export default defineApiEventHandler({ //All validation done here EVERY TIME validation: z.object({ query: z.string().optional(), // query string variable [&hellip;]
  URL: /vuejs-tutorials/a-custom-opinionated-event-handler-for-nuxt-api-endpoints-with-guards-and-validation-support/
- **LLM Agents: Your Guide to Smarter Development**: Introduction Imagine a tool that not only answers your questions but also plans tasks, connects to external systems, and makes decisions on its own. That’s the power of Large Language Model (LLM) agents—AI systems that are transforming how developers work. From automating repetitive tasks to enhancing decision-making, LLM agents are becoming essential in modern development. [&hellip;]
  URL: /news/llm-agents-your-guide-to-smarter-development/
- **How Vue.js Developers Can Use AI Coding Agents to Build Faster**: Introduction As Vue.js and Nuxt.js developers, we’re always looking for ways to streamline our workflows and deliver high-quality applications faster. Enter AI coding agents—tools like Cursor that can write, debug, and optimize code based on your instructions. These tools are transforming how developers approach projects, letting us focus on designing great user experiences while the [&hellip;]
  URL: /vuejs-tutorials/how-vue-js-developers-can-use-ai-coding-agents-to-build-faster/
- **10 Tips for Well-Designed Vue Components**: Vue.js has become one of the most popular frontend frameworks thanks to its simplicity and flexibility. But creating components that are both functional and maintainable requires thoughtful design. Here are ten tips to help you craft Vue components that your future self (and teammates) will thank you for. 1. Leverage TypeScript for Props Definition Type [&hellip;]
  URL: /vuejs-tutorials/10-tips-for-well-designed-vue-components/
- **Prisma ORM with Nuxt and Supabase**: In the world of modern web development, having a reliable and type-safe way to interact with your database is essential. Enter Prisma — a next-generation ORM that makes database access easy, type-safe, and intuitive. In this guide, we’ll walk through building a complete Nuxt application with Prisma as our ORM and Supabase providing our PostgreSQL [&hellip;]
  URL: /vuejs-tutorials/prisma-orm-with-nuxt-and-supabase/
- **Making Avatars Move: AI Generated Videos with Runway in a Nuxt App**: As I was thinking about a use-case for Runway in a Nuxt project, my mind wandered to the trading cards found in the Chocolate Frogs from Harry Potter. These magical treats came with collectible cards featuring famous witches and wizards that would actually move and interact with the viewer. While I can’t promise any delicious [&hellip;]
  URL: /vuejs-tutorials/making-avatars-move-ai-generated-videos-with-runway-in-a-nuxt-app/
- **Email/Password Logins with Nuxt Auth Utils and Nuxt UI**: In this article, we’ll walk through implementing a secure email/password authentication system in your Nuxt 3 application using Nuxt Auth Utils and NuxtUI. You’ll learn how to set up both login and registration flows, secure routes with middleware, and create a smooth user experience with Nuxt’s powerful tools. While Nuxt Auth Utils provides a lot [&hellip;]
  URL: /vuejs-tutorials/email-password-logins-with-nuxt-auth-utils-and-nuxt-ui/
- **The Model Context Protocol (MCP) for Web Developers**: Maybe you’ve seen the term MCP being thrown around like crazy on social media but don’t quite understand what it is or how it can be useful to you as a web developer. Let’s answer both of these questions in this article. What is the Model Context Protocol? The Model Context Protocol (MCP) is an [&hellip;]
  URL: /vuejs-tutorials/the-model-context-protocol-mcp-for-web-developers/
- **Handling File Uploads in Nuxt with useStorage**: This entry is part 2 of 2 in the series File Upload in Vue.jsNeed robust file uploads in your Nuxt application? The useStorage function makes this essential feature simple and secure. Plus, it takes advantage of Unstorage’s unified storage API, meaning you can use it with almost any storage provider (such as local file storage, AWS S3, Cloudflare R2, etc) or switch providers at any time. This guide [&hellip;]
  URL: /vuejs-tutorials/handling-file-uploads-in-nuxt-with-usestorage/
- **Build a File Upload Component in Vue.js with the Composition API**: This entry is part 1 of 2 in the series File Upload in Vue.jsIn this tutorial, we’ll build a simple file upload component in Vue.js using the Composition API. It will: Allow the user to select one or multiple files Display each file name below an upload button Allow a file to be deleted from the list Emit a changed event with an array of the selected File [&hellip;]
  URL: /vuejs-tutorials/build-a-file-upload-component-in-vue-js-with-the-composition-api/
- **Give Your Web Apps a Voice with Eleven Labs AI**: Using AI to boost your web development workflow is all the hype right now and rightly so! But it&#8217;s also a great time to integrate AI into your tranditional development sites and tools to boost the end user experience. That&#8217;s what inspired me to cerate this post. I started this blog post experimenting with Eleven [&hellip;]
  URL: /vuejs-tutorials/nuxt-content-text-to-speech-with-eleven-labs/
- **What is a Vue.js Error Boundary Component?**: This entry is part 2 of 2 in the series Handling Error in Vue Like A ProPicture this: You&#8217;ve just deployed your shiny new Vue application. Everything looks perfect in your dev environment. Then your phone buzzes with a message from a user: &quot;Hey, the dashboard is completely blank.&quot; We&#8217;ve all been there, and it&#8217;s not a great feeling. What if there was a way to contain errors so they only [&hellip;]
  URL: /vuejs-tutorials/what-is-a-vue-js-error-boundary-component/
- **Form and Function with Formwerk &#8211; Insights from Abdelrahman Awad’s Vue.js Nation 2025 Talk**: This entry is part 7 of 7 in the series Vue.js Nation 2025 TalksThis article is based on Abdelrahman Awad&#8217;s talk at Vue.js Nation 2025, titled &quot;Form and Function with Formwerk.&quot; In this talk, Abdelrahman discussed the challenges of creating accessible and high-quality forms in the web development landscape. Formwerk, is a Vue.js framework that simplifies forms by providing a comprehensive suite of composables for building accessible, high-quality, [&hellip;]
  URL: /news/form-and-function-with-formwerk-insights-from-abdelrahman-awads-vue-js-nation-2025-talk/
- **The Importance and Usage of AI in Vue.js &#8211; Insights From a Live Panel at Vue.js Nation 2025**: This entry is part 6 of 7 in the series Vue.js Nation 2025 TalksThis article is based on Vue.js Nation 2025 panel discussion between Alexander Lichter and Michael Thiessen, DejaVue hosts, Patrick van Everdingen, full-stack TypeScript Engineer, and our own Daniel Kelly, Vue School instructor/content creator. The live discussion was about the role of AI in Vue.js development, how AI is shaping the future of frontend frameworks, enhancing [&hellip;]
  URL: /news/the-importance-and-usage-of-ai-in-vue-js-insights-from-a-live-panel-at-vue-js-nation-2025/
- **Building Vue’s High-Performance Future: Vapor Mode &#8211; Insights from Rizumu Ayaka’s Vue.js Nation 2025 Talk**: This entry is part 5 of 7 in the series Vue.js Nation 2025 TalksThis article is based on Rizumu Ayaka&#8217;s insightful talk at Vue.js Nation 2025, titled &#8216;Join Us Building Vue’s High-Performance Future: Vapor Mode&#8217;. In this session, Rizumu discussed the evolution of Vue.js and Vapor Mode, highlighting its performance improvements and the role of compilers. Rizumu (Little Sound) is an independent developer who loves open source. Currently, [&hellip;]
  URL: /news/building-vues-high-performance-future-vapor-mode-insights-from-rizumu-ayakas-vue-js-nation-2025-talk/
- **How dependency injection rescued my app from the untestable abyss &#8211; Insights from Laurent Cazanove’s Vue.js Nation 2025 Talk**: This entry is part 4 of 7 in the series Vue.js Nation 2025 TalksThis article is based on Laurent Cazanove&#8217;s talk at Vue.js Nation 2025, titled &quot;How dependency injection rescued my app from the untestable abyss.&quot; In this session, Laurent discussed the challenges of leaking implementation details, bloated composables, and untestable code—a situation many developers find themselves in. What began as a &quot;keep it simple&quot; approach turned into [&hellip;]
  URL: /news/how-dependency-injection-rescued-my-app-from-the-untestable-abyss-insights-from-laurent-cazanoves-vue-js-nation-2025-talk/
- **The Perfect Full-Stack Fusion: Vue.js x Laravel &#8211; Insights from Vue.js Nation 2025 Live Panel Discussion Between J. Cirre and M. Said.**: This entry is part 3 of 7 in the series Vue.js Nation 2025 TalksThis article is based on Vue.js Nation 2025 panel discussion between the host Mostafa Said, instructor and content creator at Vue School, and interviewee Josh Cirre, Developer Advocate at Laravel. The live discussion was about exploring the full-stack combination: Vue.js and Laravel. Let’s learn from expert developers as they discuss best practices, real-world applications, and [&hellip;]
  URL: /news/the-perfect-full-stack-fusion-vue-js-x-laravel-insights-from-vue-js-nation-2025-live-panel-discussion-between-j-cirre-and-m-said/
- **Vue-doo Magic: AI Development Tricks &#8211; Insights from Vue.js Nation 2025 with Daniel Kelly**: This entry is part 2 of 7 in the series Vue.js Nation 2025 TalksThis article is based on Daniel Kelly&#8217;s talk at Vue.js Nation 2025, titled &quot;Vue-doo Magic: AI Development Tricks.&quot; In this session, Daniel shared his insights on integrating AI into Vue.js development, a topic that is both exciting and a bit daunting for many developers. Introduction to AI in Vue.js Development AI is still a relatively [&hellip;]
  URL: /uncategorized/vue-doo-magic-ai-development-tricks-insights-from-vue-js-nation-2025-with-daniel-kelly/
- **Preview of Vue 3.6 &#038;  Vapor Mode &#8211; Insights from Evan You’s Vue.js Nation 2025 Talk**: This entry is part 1 of 7 in the series Vue.js Nation 2025 TalksThis article is based on Evan You&#8217;s talk at Vue.js Nation 2025, titled &quot;Preview of Vue 3.6 &amp; Vapor Mode.&quot; In this session, Evan discussed what&#8217;s new in Vue.js 3.6 with an exclusive preview of its latest features, including the much-anticipated Vapor Mode. Introduction to Vue 3.6 and Vapor Mode Evan You started his talk [&hellip;]
  URL: /news/vn-talk-evan-you-preview-of-vue-3-6-vapor-mode/
- **Big Announcement: The First In-Person ViteConf 2025 in Amsterdam!**: Big news for frontend developers! Vite Conf 2025 is happening live in Amsterdam this October! For the first time ever, the Vite community will gather in person to explore the future of frontend tooling, hear from top industry experts, and connect with fellow developers. If you love modern JavaScript, Vue.js, Vite, and high-performance build tools, [&hellip;]
  URL: /news/viteconf-2025-the-first-in-person-vite-conference-in-amsterdam/
- **Master Error Handling in a Vue.js App**: This entry is part 1 of 2 in the series Handling Error in Vue Like A ProError handling might not be the most exciting part of front-end development, but it&#8217;s undoubtedly one of the most critical. In our Vue.js course &quot;Handling Errors in Vue Like a Pro,&quot; we take a deep dive into error handling strategies that will elevate your Vue applications from fragile to production-ready. What You&#8217;ll Learn in This [&hellip;]
  URL: /news/master-error-handling-in-a-vue-js-app/
- **JavaScript Error Re-Throwing: What, Why, When?**: This entry is part 2 of 2 in the series JavaScript Error HandlingWe&#8217;ve all been there—staring at cryptic error messages at 2 AM, wondering where things went wrong. Error handling can feel like a thankless task, one that&#8217;s essential but rarely celebrated. If you&#8217;ve mastered the basics of try-catch blocks but still find yourself struggling with complex error scenarios, you&#8217;re not alone. There are many strategies for [&hellip;]
  URL: /vuejs-tutorials/javascript-error-re-throwing-what-why-when/
- **Master TailwindCSS 4 for Vue**: Vue.js and TailwindCSS make a great team when it comes to creating beautiful scalable apps. Vue’s component-based approach makes it a great fit for use with Tailwind’s intuitive and plentiful utility classes. The latest version of TailwindCSS (version 4) just released in January 2025. It brings even more powerful styling tools, a streamlined setup process, [&hellip;]
  URL: /vuejs-tutorials/master-tailwindcss-4-for-vue/
- **Master JavaScript Error Handling**: This entry is part 1 of 2 in the series JavaScript Error HandlingAll the apps you build are perfect right? I know my apps never have unexpected issues…. said no one ever! Errors are a part of development and what sets apart the good devs from the best devs is how you handle them. In our latest course JavaScript Error Handling jump head first into error handling [&hellip;]
  URL: /news/master-javascript-error-handling/

### Article Categories

- **News**: Articles about News
  URL: /articles/category/news
- **Tutorials**: Articles about Tutorials
  URL: /articles/category/vuejs-tutorials
- **Uncategorized**: Articles about Uncategorized
  URL: /articles/category/uncategorized

### Article Series

- **Creating Your Own Router**: Probably you've been using routers in the frontend world for a while, but... have you ever written one by yourself? Do you know the foundations of a router? It might seem like it just works, but under the hood, a router must take care of several things.

A router is the component in charge of routing. We can define routing as the action of finding the way to multiple destinations. This applies to different areas.

For instance, an elevator’s router will take you to the fifth floor if you press the button with the number 5 on it.

In web development, we can see two main areas of routing:
  URL: /articles/series/creating-your-own-router
- **File Upload in Vue.js**: Tutorial series covering File Upload in Vue.js
  URL: /articles/series/file-upload-in-vue-js
- **Generating Fake Data with Faker.js**: Tutorial series covering Generating Fake Data with Faker.js
  URL: /articles/series/generating-fake-data-faker-js
- **Handling Error in Vue Like A Pro**: Tutorial series covering Handling Error in Vue Like A Pro
  URL: /articles/series/handling-error-in-vue-like-a-pro
- **How to Structure a Large Scale Vue.js Application**: Tutorial series covering How to Structure a Large Scale Vue.js Application
  URL: /articles/series/how-to-structure-a-large-scale-vue-js-application
- **JavaScript Error Handling**: Tutorial series covering JavaScript Error Handling
  URL: /articles/series/javascript-error-handling
- **Modular Vue.js Applications**: In this series, you'll learn what you can do to structure your Vue.js and Nuxt.js applications so that they are more modular and maintainable.
  URL: /articles/series/modular-vue-applications
- **Nuxt Nation 2024 Talks**: Tutorial series covering Nuxt Nation 2024 Talks
  URL: /articles/series/nuxt-nation-2024-talks
- **Rich Text Editing and Beyond with TinyMCE and Vue**: Tutorial series covering Rich Text Editing and Beyond with TinyMCE and Vue
  URL: /articles/series/rich-text-editing-and-beyond-with-tinymce-and-vue
- **Store Solutions in Vue.js**: Tutorial series covering Store Solutions in Vue.js
  URL: /articles/series/store-solutions-in-vue-js

### Authors

- **Alex Jover Morales**: Passionate web developer. Author of Test Vue.js components with Jest on Leanpub. I co-organize Alicante Frontend. Interested in web performance, PWA, the human side of code and wellness. Cat lover, sports practitioner and good friend of his friends. His bike goes with him.
  URL: /articles/author/alex-jover-morales
- **Alex Kyriakidis**: Founder of Vue School. Vue.js Team Member. Author of the first 2 books about Vue.js. Frozen coffee (Frappe) lover.
  URL: /articles/author/alex-kyriakidis
- **Alexander Lichter**: Founder of <a href="https://www.developmint.de/?ref=vueschool.io" rel="noopener">Developmint</a>, Nuxt.js core member and passionate full-stack dev who enjoys working with Tailwind, Nuxt.js and Laravel. Also <a href="https://blog.lichter.io/?ref=vueschool.io" rel="noopener">blogging about related topics<a> every now and then.
  URL: /articles/author/alexander-lichter
- **Boudy de Geer**: Articles by Boudy de Geer
  URL: /articles/author/boudy
- **Charles Allotey**: Charles is a Frontend Developer at Vueschool. Has a passion for building great experiences and products using Vue.js and Nuxt.
  URL: /articles/author/charles-allotey
- **Daniel Kelly**: Daniel is the lead instructor at Vue School and enjoys helping other developers reach their full potential. He has 10+ years of developer experience using technologies including Vue.js, Nuxt.js, and Laravel.
  URL: /articles/author/daniel-kelly
- **David Robertson**: David Robertson is a Full-Stack Engineer and AI Integration Specialist focused on integrating AI into business processes and products. He led the AI integration for Kickstart FormKit’s form builder, helping the team create a best-in-class AI-powered solution. David’s journey into AI began with discovering tools like Jasper for copywriting, which inspired him to explore AI’s potential in code. He initially experimented with coding assistants like TabNine and GitHub Copilot, and later expanded his workflow with tools such as ChatGPT, Cursor, and Aider. His passion lies in teaching developers how to effectively use AI in their projects and guiding businesses to seamlessly integrate AI into their products and operations for maximum impact..
  URL: /articles/author/davidrobertson
- **Des Kurz**: Desmond Kurz hails from Cape Town, South Africa. He is a seasoned business man with more than 25 years of work experience across many industries including AI, QSR, mobile, gaming, fin tech, education and consulting. He has managed large teams of coders, marketers, business intelligence professionals across multiple businesses. He often introduces himself as a highly articulate, well travelled and experienced business man who cusses a lot. He also answers to Des Vader.
  URL: /articles/author/des-kurz
- **Eduardo San Martin Morote**: Articles by Eduardo San Martin Morote
  URL: /articles/author/posva

### Content Guidelines

All articles follow Vue.js best practices and are reviewed by industry experts. Topics include:
- Vue.js fundamentals and advanced concepts
- Nuxt.js development and deployment
- Modern JavaScript and TypeScript
- Testing strategies and tools
- Performance optimization
- UI/UX design principles