FusionFusion

Getting Started

TypeScript / Node.js quickstart for Fusion Framework

Install

From the framework monorepo (development):

cd crates/fusion-node
npm install
npm run build:debug

Published package:

npm i fusion-framework

Scaffold with Fusion Tool

fusion init --lang typescript --name my-app

Creates main.ts, core/settings.ts, sample module, fusion.<env>.json, and (from recent tool versions) package.json / tsconfig.json.

First API

import "./src/modules/products/products";

import { FusionApp, getSettings, settings } from "fusion-framework";

// Global middleware (optional). Framework ships with none by default.
const MIDDLEWARE: Array<(req: any, next: any) => any> = [];

async function main() {
  settings.ensureLoaded([process.cwd()]);
  const app = new FusionApp(getSettings());
  for (const mw of MIDDLEWARE) app.use(mw);
  await app.listen();
}

main();

Module example:

import { FusionBaseApi, route, status } from "fusion-framework";

export const ProductModule = route("api/[module]", {
  tags: ["swagger"],
  desc: "Products",
})(
  class ProductModule extends FusionBaseApi {
    get() {
      return this.response({ products_id: 12 }, status.HTTP_SUCCESS);
    }
  },
);

Next

На этой странице