पाठ 17 / 32

autoload के साथ Project Structure

Fastify app को plugins और routes folders में व्यवस्थित करें और @fastify/autoload से उन्हें अपने-आप load करें।

Folders plugins के रूप में

साझा plugins plugins/ में और route modules routes/ में रखें, फिर autoload से उन्हें register करने दें।

// src/app.js
import AutoLoad from '@fastify/autoload';
import { join } from 'node:path';

export default async function app(fastify, opts) {
  fastify.register(AutoLoad, { dir: join(import.meta.dirname, 'plugins') });
  fastify.register(AutoLoad, { dir: join(import.meta.dirname, 'routes'), options: { prefix: '/api' } });
}

app.js से build() export करें और listen केवल server.js में बुलाएँ। तब tests app import करके port खोले बिना inject उपयोग कर सकते हैं।