express-beans v1.2.3
ExpressBeans
ExpressBeans is the IoC Container (Inversion of Control Container) that you didn't know you needed. If you love Node.js and the Spring Boot way of code organization this lightweight framework is for you. ExpressBeans is an almost zero dependency framework (it wraps Express.js) to offer an easy-to-use way of building your next Express project.
Get started
Try ExpressBeans with the official generator:
npm create express-beans-serverDocumentation
API docs and types available in documentation.
Usage
All you need is create an ExpressBeans application and provide your RouterBean classes:
ExpressBeans.createApp({
routerBeans: [
ExampleRouter,
],
});
/* ======== OR ======== */
const application = new ExpressBeans({
routerBeans: [
ExampleRouter,
],
});If you need also direct access to express application:
const application = new ExpressBeans({
routerBeans: [
ExampleRouter,
],
});
const expressApp = application.getApp();Typescript 5
New decorators are here and ExpressBeans implements some simple decorators to achieve dependency injection and endpoint registration.
Example
import { Request, Response } from 'express';
import { InjectBean, Route, RouterBean } from 'express-beans';
import ExampleService from '../services/ExampleService';
@RouterBean('/example')
export default class ExampleRouter {
@InjectBean(ExampleService)
private exampleService!: ExampleService;
@Route('GET', '/hello')
getHello(_req: Request, res: Response) {
res.end(this.exampleService.example());
}
}This will create a new router that expose an endpoint GET /example/hello and
exampleService will be the instance of the class declared as it follow:
import { Bean } from 'express-beans';
@Bean
export default class ExampleService {
private msg: string;
constructor() {
this.msg = 'hello world!';
}
example() {
return this.msg;
}
}Installation
npm install express-beans8 months ago
8 months ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago

