Examples

Explore real-world usage scenarios and best practices with these routes.js examples.

Basic Dynamic Route

User Profile Example

This demonstrates how to create a route with dynamic parameters like :id or :slug.

const routes = {
  '/': () => console.log('Home page'),
  '/user/:id': (params) => {
    console.log(`User ID: ${params.id} requested.`);
    displayUserProfile(params.id);
  }
};

const router = new Router(routes);
router.init();

404 Route

Catch-all Unknown Route

Define a catch-all route to handle 404s or unknown paths.

const routes = {
  '/': () => console.log('Welcome to routes.js!'),
  '/404': () => {
    console.log('Unknown route, redirect to home or show 404');
    display404();
  }
};

const router = new Router(routes);
router.init();

Advanced Example: Nested Routes

Sub-Route Handling

Create a complex routing structure using nested paths for better organization.

const routes = {
  '/': () => console.log('Home'),
  '/dashboard': () => console.log('Dashboard'),
  '/dashboard/profile': () => console.log('Profile Page'),
  '/dashboard/settings': () => console.log('User Settings'),
  '/dashboard/:id': (params) => {
    console.log(`User ID: ${params.id} on dashboard.`);
  }
};

const router = new Router(routes);
router.init();

Query Parameters

Filter Users List Example

Handle query string parameters like ?filter=active or ?sort=relevance

const routes = {
  '/': () => console.log('Welcome to routes.js!'),
  '/users': (query) => {
    const active = query.get('filter');
    const sort = query.get('sort');
    
    console.log(`Filter: ${active || 'none'}, Sort: ${sort || 'none'}`);
  }
};

const router = new Router(routes);
router.init();