1.main.ts 文件做了什么?

核心文件,通过 NestFactory.create 创建应用程序实例,完成一些中间件、守卫、管道、异常过滤器、拦截器的注册。

 

2.NestFactory.create(appModele,options?) 做了什么?

创建应用程序实例,该方法接受两个参数,第一个参数是一个根模块,第二个参数是一个可选的配置对象,用于配置应用程序实例的行为和属性。这个配置对象可以包含如下属性:

  • abortOnError:它决定了当在启动过程中发生错误时是否要终止应用程序的启动。如果 abortOnError 设置为 true(默认值为 false),当发生错误时,Nest.js 会立即终止应用程序的启动,并输出错误信息。如果 abortOnError 设置为 false,则会继续启动应用程序,但会打印出错误信息。
  • logger:指定自定义的日志记录器,用于记录应用程序的日志。可以使用NestLogger或任何实现了LoggerService接口的自定义日志记录器。
  • cors:配置跨域资源共享(CORS)的行为。可以设置为布尔值或CorsOptions对象。如果设置为true,则默认启用CORS。如果设置为CorsOptions对象,则可以指定更详细的CORS选项,例如允许的原始资源、允许的HTTP方法等。
  • bodyParser:配置请求主体的解析方式。可以设置为布尔值或BodyParserOptions对象。如果设置为true,则默认启用请求主体的解析。如果设置为BodyParserOptions对象,则可以指定更详细的解析选项,例如解析的主体大小限制、启用文件上传等。
  • factory:指定自定义应用程序工厂,用于创建应用程序实例。可以使用NestApplicationFactory或任何实现了INestApplicationFactory接口的自定义工厂。
  • httpsOptions:配置HTTPS服务器的选项。可以设置为HttpsOptions对象,包含有关SSL证书、私钥等的详细信息。
  • microservices:配置微服务的选项。可以设置为MicroserviceOptions对象,包含有关微服务的详细信息,例如传输协议、侦听器等。
  • extraOptions:其他自定义选项,这些选项将会传递给应用程序实例。

 

3.通过NestFactory.create()方法创建的应用程序实例,有哪些方法?

  • useGlobalGuards设置全局守卫(守卫在每个中间件之后执行,但在任何拦截器或管道之前执行)。
  • useGlobalFilters:设置全局过滤
  • useGlobalInterceptors:设置全局拦截器
posted on 2024-01-15 15:45  皮五辣子  阅读(50)  评论(0编辑  收藏  举报