Lewati ke konten

Bootstrap

defineBootstrap adalah entry point utama GamanJS. Fungsi ini membuat instance Gaman dan memberikan akses ke method mount() dan mountServer().

import { defineBootstrap } from 'gaman';
import AppRoutes from './modules/app/AppRoutes';
defineBootstrap(async (app) => {
// Mount router, middleware, atau exception handler
app.mount(AppRoutes);
// Jalankan HTTP server
app.mountServer({ http: 3431 });
});

Method mount() digunakan untuk mendaftarkan:

TipeDeskripsi
RoutesHasil dari composeRouter() — mendaftarkan semua route yang sudah didefinisikan
MiddlewareHasil dari composeMiddleware() — middleware global yang berjalan di semua route
ExceptionHandlerHasil dari composeException() — global error handler
import { defineBootstrap } from 'gaman';
import AppRoutes from './modules/app/AppRoutes';
import AuthMiddleware from './modules/app/middlewares/AuthMiddleware';
import GlobalExceptionHandler from './modules/app/exceptions/GlobalException';
defineBootstrap(async (app) => {
// Mount middleware global
app.mount(AuthMiddleware());
// Mount global exception handler
app.mount(GlobalExceptionHandler);
// Mount routes
app.mount(AppRoutes);
// Mount routes dengan prefix path
app.mount(UserRouter('/user'));
app.mountServer({ http: 3431 });
});

Kamu bisa memberikan prefix path saat melakukan mount router:

import UserRouter from './modules/user/UserRouter';
defineBootstrap(async (app) => {
app.mount(UserRouter('/user'));
});

Memulai HTTP server dengan konfigurasi yang diberikan.

app.mountServer({ http: 3431 });
app.mountServer({
http: {
port: 3431,
host: 'localhost', // default: 'localhost'
maxRequestBodySize: 1024 * 1024 * 50, // 50MB
reusePort: false, // default: false
development: true, // default: false
},
});
PropertyTypeDefaultDeskripsi
portnumber3431Port HTTP server
hoststring'localhost'Hostname server. Gunakan '0.0.0.0' untuk menerima dari semua interface
maxRequestBodySizenumberMaksimum ukuran request body dalam bytes
reusePortbooleanfalseAktifkan SO_REUSEPORT socket option
developmentbooleanfalseMode development — menampilkan error stack detail