NestJs 核心类 NestFactory

NestJs是一个用于构建高效、可扩展和可维护的Nodejs应用程序的框架。
NestFactoryNestJS 框架的一个核心类,但它并不基于 Express
虽然 NestJS 在底层使用了一些类似于 Express 的概念和设计原则,但它是一个独立的框架,自己实现了路由和中间件的功能。
NestFactory 提供了一个类似于 Express 的方式来创建应用程序实例,但它并不是对 Express 的简单封装。
需要注意的是,NestFactory 仅仅是 NestJS 框架的一部分,它还有其他许多核心类和模块,用于处理路由、中间件、依赖注入等功能。(这点和Angular很相似)

create()方法

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

  • 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:其他自定义选项,这些选项将会传递给应用程序实例。
    下面是一个使用NestFactory.create()方法的示例代码,演示如何使用第二个参数配置应用程序:
	import { NestFactory } from '@nestjs/core';
	import { AppModule } from './app.module';

	async function bootstrap() {
		const app = await NestFactory.create(AppModule, {
			cors: true,
			bodyParser: true,
			logger: true,
			abortOnError: true
		});
		await app.listen(3000);
	}
	bootstrap();

在上面的示例中,我们在NestFactory.create()方法的第二个参数中传入了一个配置对象。我们启用了CORS、请求主体解析、日志记录和错误时终止程序,通过设置cors、bodyParser、logger和abortOnError属性为true。

通过使用NestFactory.create()方法的第二个参数,我们可以自定义应用程序实例的行为和属性,以满足特定的需求。这提供了更大的灵活性和可定制性,使得我们可以根据项目的具体要求进行配置。

posted @   楚小九  阅读(211)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示