Skip to content

Latest commit

 

History

History
52 lines (35 loc) · 1.3 KB

File metadata and controls

52 lines (35 loc) · 1.3 KB
title Modules
description xxx

Usage

Think of modules as containers for related API endpoints. They help organize your routes logically - perfect for keeping your sanity intact!

import { buildModule } from "@vitnode/core/api/lib/module";


export const categoriesModule = buildModule({
  name: "categories",
  routes: [] // We'll populate this soon!
});

Nested Modules

Want to create a module hierarchy? VitNode's got your back! Nested modules are perfect for complex APIs.

import { buildModule } from "@vitnode/core/api/lib/module";


import { postsModule } from "./posts/posts.module"; // [!code ++]

export const categoriesModule = buildModule({
  name: "categories",
  routes: [],
  modules: [postsModule] // [!code ++]
});

This creates a structure: /api/{plugin_id}/categories/posts/*

Connecting Modules to the API

import { buildApiPlugin } from "@vitnode/core/api/lib/plugin";


import { categoriesModule } from "./api/modules/categories/categories.module"; // [!code ++]

export const blogApiPlugin = () => {
  return buildApiPlugin({
      modules: [categoriesModule] // [!code ++]
  });
};