Skip to content

Sagar Kunwar

Menu
  • Home
  • YouTube
  • Blog
  • Contact
  • Privacy Policy
Menu

Creating a Multi-Page App in Vue.js

Posted on July 17, 2025July 17, 2025 by Sagar Kunwar

Creating a Multi-Page App in Vue.js

Hello there, awesome learner! 🌟 If you’re here, that means you’re curious about taking your Vue.js skills up a notch by creating a multi-page application. Well, you’re in luck because that’s exactly what we’re diving into today. Whether you’re working on expanding your portfolio, building an awesome app, or just beefing up your skillset, this guide is for you. Let’s get started!

Why Vue.js for Multi-Page Apps?

Before we dive into coding, let’s quickly chat about why Vue.js is a fantastic choice for building multi-page applications. Vue.js is lightweight, super approachable, and incredibly powerful when it comes to building interactive UIs. Plus, its simplicity and flexibility make it a great tool even for beginners. So, without further ado, let’s step into the world of Vue.js and build a cool multi-page app together.

Setting Up Your Environment

Before building anything, let’s make sure your environment is good to go. You’ll need Node.js and npm installed. If you haven’t set these up yet, don’t worry—just head over to the [Node.js website](https://nodejs.org/) and follow their installation guide.

Next up, we need Vue CLI. This tool helps us scaffold a new Vue project.

npm install -g @vue/cli

Once that’s done, let’s create a new Vue.js project:

vue create my-multi-page-app

Follow the prompts to set up your project with the necessary configurations. The default settings are okay for our purpose, so feel free to go with them.

Understanding Vue Router

To navigate between different pages, we’ll use Vue Router, a routing library that “routes” or navigates the users to different paths within your app. Let’s add it to our project.

cd my-multi-page-app

npm install vue-router

Basic Structure of a Vue Application

Before adding pages, let’s go through a typical Vue.js structure. Your src folder should have:

  • components/ – Contains your Vue components (reusable chunks of code).
  • views/ – Contains different views (or pages) of your application.
  • App.vue – The root component.
  • main.js – Entry file where your app is initialized.
  • Creating Your First Page

    Let’s start by creating a simple homepage:

    1. Navigate to the src/views/ folder and create Home.vue.

    <!-- Home.vue -->
    

    <template>

    <div>

    <h1>Welcome to the Home Page</h1>

    <p>This is our very first page in Vue.js!</p>

    </div>

    </template>

    <script>

    export default {

    name: "Home",

    };

    </script>

    Adding More Pages

    That was easy, right? Now let’s add another page. How about a “Contact Us” page?

    1. Inside src/views/, create Contact.vue.

    <!-- Contact.vue -->
    

    <template>

    <div>

    <h1>Contact Us</h1>

    <p>Feel free to reach out with questions or feedback!</p>

    </div>

    </template>

    <script>

    export default {

    name: "Contact",

    };

    </script>

    Configuring Vue Router

    Now that we have our pages ready, let’s set up our router to navigate between them.

    1. In your src folder, create a router.js file and configure your routes.

    // router.js
    

    import Vue from "vue";

    import Router from "vue-router";

    import Home from "./views/Home.vue";

    import Contact from "./views/Contact.vue";

    Vue.use(Router);

    export default new Router({

    mode: "history",

    routes: [

    {

    path: "/",

    name: "home",

    component: Home,

    },

    {

    path: "/contact",

    name: "contact",

    component: Contact,

    },

    ],

    });

    2. Link this router setup to your main app entry point:

    // main.js
    

    import Vue from "vue";

    import App from "./App.vue";

    import router from "./router";

    Vue.config.productionTip = false;

    new Vue({

    router,

    render: (h) => h(App),

    }).$mount("#app");

    Adding Navigation

    Great! Now, we just need to create links to navigate between these pages.

    1. Open the App.vue file and add some navigation links:

    <!-- App.vue -->
    

    <template>

    <div id="app">

    <nav>

    <router-link to="/">Home</router-link> |

    <router-link to="/contact">Contact</router-link>

    </nav>

    <router-view />

    </div>

    </template>

    <script>

    export default {

    name: "App",

    };

    </script>

    Test Your App

    To see your app in action, run the following command in your terminal:

    npm run serve
    

    Visit http://localhost:8080/ and there you have it! You should see your homepage with a link to the Contact page. Click around and feel the magic of navigation without page reloads.

    Wrapping Up

    And there you go—a fully functional multi-page application using Vue.js! 🎉 It’s amazing how easily Vue.js makes creating such applications. Not only does it handle routing like a breeze, but it also keeps your project organized and clean.

    Practice Ideas

  • Add an “About Us” page and link it in the navigation.
  • Style your navigation bar using CSS or a Vue library like Vuetify.
  • Implement dynamic routing by adding query parameters.

Feel free to explore further and create your own custom Vue.js apps. You’re now a step closer to becoming a Vue.js pro! 🎓 Keep experimenting and happy coding!

Note: If you would like to dive deeper, check out the [Vue Router Official Documentation](https://router.vuejs.org/) for more advanced routing features.

Until next time, happy coding! 🚀

(Visited 36 times, 1 visits today)

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Guide to Responsive Images with `srcset`
  • # Creating and Validating Forms in React with Formik
  • Setting Up Multiple Pages with React Router DOM v6
  • How to Use VS Code Like a Pro: Extensions and Shortcuts

Categories

  • Blog
  • Javascript
  • PHP
  • Support
  • Uncategorized
  • Web Hosting
July 2025
S M T W T F S
 12345
6789101112
13141516171819
20212223242526
2728293031  
« Jun   Aug »
© 2025 Sagar Kunwar | Powered by Superbs Personal Blog theme