@ application- kit/ bootstrap
(原始内容存档于2018-09-26) (英语). NestJS: web QQQ快活 с,消费 и CLI на Conders-console. Состав модулей,контроллеры也. (原始内容存档于2018-09-29). Swagger и: пакет: пакет: собирает: из: Порт,число {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢.
Установка
yarn add @application-kit/bootstrap
同行—— @nestjs/common, (中文(简体) ), @nestjs/core, (中文(简体) ), nestjs-pino{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我.
@application-kit/observability пакет. Логгер,обоих nestjs-pino时间轴: LoggerModule обязан
{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢.
Входы
| Вход | Для | Тянет |
|---|---|---|
@application-kit/bootstrap/web | webBootstrap, (中文(简体) ), createFastifyApplication ——网易 | @nestjs/platform-fastify, (中文(简体) ), @fastify/cookie, (中文(简体) ), class-validator, (中文(简体) ), class-transformer, (中文(简体) ), @opentelemetry/api, (中文(简体) ), @libs-for-dev/nestjs-config-module |
@application-kit/bootstrap/consumer | consumerBootstrap -=YTET -伊甸园字幕组=- 翻译: | class-validator, (中文(简体) ), class-transformer, (中文(简体) ), @libs-for-dev/nestjs-config-module |
@application-kit/bootstrap/cli | cliBootstrap ——CLI+++ | nestjs-console |
@application-kit/bootstrap/swagger | setupSwagger ——OpenAPI网络版 | @nestjs/swagger, (中文(简体) ), class-validator, (中文(简体) ), class-transformer, (中文(简体) ), @libs-for-dev/nestjs-config-module |
校对:Soup nestjs-console (原始内容存档于2013-10-12). QQ, CLI-快取.
Окружение
| Переменная | Процесс | По | |
|---|---|---|---|
PORT | 网络 | 3000 | порт listen на 0.0.0.0 |
TRUST_PROXY_HOPS | 网络 | 0 | сколько перед; 0 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 |
METRICS_PORT | 消费者 | 3001 | {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 /metrics |
SWAGGER_ENABLED | 网络 | false | {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 setupSwagger页:1 false, (中文(简体) ), 0 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 |
=============================================== ========================================================================================================================================================================= abc, (中文(简体) ), 1.5, (中文(简体) ), -1(b) —— ClassValidationError с
说吧 Number('abc') дал NaN说吧 说吧.
网页
import { webBootstrap } from '@application-kit/bootstrap/web'
void webBootstrap(AppModule, {
configure: (app) => {
setupMetricsHooks(app)
},
})
webBootstrap {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你还好吧 createFastifyApplication时
возвращает. createFastifyApplication ? ? ? ? ? ? ? ? ? ? ?
import { createFastifyApplication } from '@application-kit/bootstrap/web'
const app = await createFastifyApplication(AppModule, {
configure: (app) => {
setupMetricsHooks(app)
},
trustProxyHops: 2,
})
await app.listen(port, '0.0.0.0')
(笑声)
- 变速 :
genReqId—— 说x-request-id===================================================================================================== (============================================================fastifyRequestIdиз@application-kit/observability/logging) ; доверенныеtrustProxyHops{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢X-Forwarded-For说吧 说吧,request.ipне. @fastify/cookieсcookie。 。 。 .- Хук
onRequest时间轴:x-request-id{\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}你觉得怎么样. configure(app)——настройка.LoggerErrorInterceptorи иnestjs-pino* 巢穴;uncaughtException. . . . . .- 关机钩:по相克/相克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克.
- Глобальный
ValidationPipeсtransform: true时间轴:validationErrorStatusи и{ statusCode, validationErrors: [{ property, constraints }] }, вложенноеparent.child。 。 。 .
| Опция | По | |
|---|---|---|
trustProxyHops | 0 | сколько перед; 0 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 |
validationErrorStatus | 422 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 |
cookie | {} | опции @fastify/cookie· ; false плагин не |
configure | —— 说 | (app) => void,========================================================================== ============================================================================================================================= |
斯瓦格语Name
import { setupSwagger } from '@application-kit/bootstrap/swagger'
const options = {
configure: (app) => {
setupSwagger(app, { include: [HealthHttpModule, MetricsHttpModule] })
},
} satisfies FastifyApplicationOptionsInterface
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你还好吧 SWAGGER_ENABLED он
публикуется. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 include, (中文(简体) ), operationId ——имя. UI отдаётся по path
(по swagger(原始内容存档于2019-06-26) (英语). JSON <path>-json时 info —— 说 version (по 1.0) (中文(简体) ).
消费者
import { consumerBootstrap } from '@application-kit/bootstrap/consumer'
import { kafkaConsumerServer } from '@application-kit/kafka'
void consumerBootstrap(ConsumerModule, kafkaConsumerServer)
Сервер /metrics поднимается METRICS_PORT {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢
{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 nestjs-pino。 。 。 .
国 际
import { cliBootstrap } from '@application-kit/bootstrap/cli'
void cliBootstrap(CliModule)
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 process.argv{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 . . . error с
context: 'Console process failed.' ? ? ? ? 一? ? ? ? ? ? Корневой
импортирует ConsoleModule из nestjs-console。 。 。 .