简介
@litstack/service-starter 是一款基于 NestJS 开发的,用于快速启动 Node.js 服务的脚手架工具,提供了一些常用的功能模块,例如请求日志记录、参数验证、异常处理等,快速搭建出适用于生产环境的 Node.js 服务。
安装
安装该包的最新版本可以使用 npm。
npm install @litstack/service-starter
快速开始
执行以下指令,创建一个基于该工具的 NestJS 项目:
npx @nestjs/cli new project-name
安装 @litstack/service-starter 依赖:
npm install @litstack/service-starter
在 app.module.ts 中导入 LitStackModule:
import { LitStackModule } from '@litstack/service-starter'; @Module({ imports: [LitStackModule.forRoot()], }) export class AppModule {}
在控制器(Controller)中添加路由:
import { Controller, Get } from '@nestjs/common'; @Controller() export class AppController { @Get() getHello(): string { return 'Hello LitStack!'; } }
开启服务:
import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(AppModule); await app.listen(3000); } bootstrap();
访问 http://localhost:3000 可以看到服务返回的 Hello LitStack! 字符串。
配置
该工具提供了一些可选配置项,可以在 forRoot 中传入,例如:
LitStackModule.forRoot({ name: 'LitStackService', port: 4000, loggerOptions: { level: 'warn', }, cors: true, });
name
name 为服务名,用于记录请求日志。默认值为 SERVICE。
port
port 为服务端口号。默认值为 3000。
loggerOptions
loggerOptions 为 Logger 模块的配置项,用于配置日志记录。默认值为:
-- -------------------- ---- ------- - -------- -------------------- --- -------------- ----- - ------ ------- -------- ------- --------- ----------- ------------ ---------------- -------------- ----- -------- ------ --------- ------ -- -
cors
cors 为跨域处理配置项,可为布尔值或 CorsOptions(详见 http://expressjs.com/en/resources/middleware/cors.html)。默认值为 false,代表不开启跨域处理。
模块
@litstack/service-starter 提供了一些内置的模块,可供使用。
Logger
Logger 模块是对 winston 官方模块的封装,提供了对不同等级日志的记录。使用方法:
-- -------------------- ---- ------- ------ - ---------- - ---- ----------------- ------ - ------ - ---- ---------------------------- ------------- ------ ----- ---------- - ------- -------- ------ - --- ------------------------ ----------- ------ - --------------------- ------------- ------------------------ ------------- ------ ------ ----------- - -
ValidationPipe
ValidationPipe 模块用于请求参数验证,使用方法:
-- -------------------- ---- ------- ------ - ----------- ---- ----- - ---- ----------------- ------ - ---------- - ---- ---------------- ------ - -------------- - ---- ---------------------------- ------------- ------ ----- ------------- - ------------------- -------- ----------- ----------- -- ------ ------------------- ----------------- ----- -------- ------ - ------ --------------------------- - -
TransformInterceptor
TransformInterceptor 模块用于统一响应格式,使用方法:
-- -------------------- ---- ------- ------ - ----------- --- - ---- ----------------- ------ - ---------- - ---- ---------------- ------ - -------------------- - ---- ---------------------------- ------------- -------------------------------------- ------ ----- ------------- - ------------------- -------- ----------- ----------- -- ------ ----------- --------- ----- ------ -- - ------ ----------------- ----- -------------------------- --- - -
总结
@litstack/service-starter 是一款快速启动 Node.js 服务的脚手架工具,提供了常用的功能模块,方便开发人员快速搭建 Node.js 服务,提高开发效率和项目质量。本文介绍了该工具的安装和使用方法,以及内置模块的使用方式和配置项,希望对前端开发人员有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065b48c6eb7e50355dbf7d