madhusudanbabar / k-domains

A simple module to manage multiple subdomains with just one project
https://www.npmjs.com/package/k-domains
MIT License
52 stars 8 forks source link
nuxt nuxt-module nuxtjs routing subdomain subdomains

Welcome to k-domains 👋

Version Documentation npm License: MIT Twitter: MadhusudanBabar

k-domains

🏠 Homepage

✨ Demo

portfolio & blog

What is this ?? 🤔

A simple nuxt module to manage multiple subdomains with just a single nuxtJS project

What problem does this solves??

     Ever wondered how will you setup 3 sites of your own where you have same layouts & few shared components like feedback forms and so?? \ The simple way to do is copy, paste the same in all those 3 projects... isn't it?? \ But when you have to make changes, so you will require to copy the same thing in all the other projects... \ This is not the right way... ❌❌❌ \      k-domains let's you manage any number of subdomains with ease and that too without even need to create separate project for each subdomain (site). All your layouts, shared components and the code for these sites will live in one project only. \      All you have to is to just add k-domains and configure it in your nuxt.config.js file as shown in the #setup.

Install

yarn add k-domains # or npm i k-domains

Setup

  1. Add k-domains to your project

    yarn add k-domains # or npm i k-domains
  2. Add @nuxtjs/router to your project

    yarn add @nuxtjs/router
  3. Configure k-domains and @nuxtjs/router to the buildModules section of nuxt.config.js as follows:

    export default {
    buildModules: [
      [ "k-domains", {
          subDomains: [ ], // List of directories to hold te pages for your subdomains
          rootDomain: "root-domain" //  directory to hold the pages for root domain  
      }
      ],
      ["@nuxtjs/router",{
          keepDefaultRouter: true // this line is mandatory...
      }
      ]
    ]
    }
  4. Example

    export default {
    buildModules: [
      [ "k-domains", {
          subDomains: ["blog", "projects", "anotherSubDomain" ], // List of directories to hold te pages for your subdomains
          rootDomain: "main-domain" //  directory to hold the pages for root domain  
      }
      ],
      ["@nuxtjs/router",{
          keepDefaultRouter: true // this line is mandatory...
      }
      ]
    ]
    }

    and the tree for the pages should look like this:

    |   
    |─pages
    |   ├───blog
    |   ├───projects
    |   ├───main-domain
    |   └───anotherSubDomain
  5. That's it, now create pages in respective directories and it'll be mapped to that subdomains.

Options

subDomains

rootDomain

Author

👤 krypton < madhusudanbabar@gmail.com >

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Show your support

Consider giving a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator