NestJs NestFactory.create()方法的可选的配置对象

发布时间 2023-07-04 23:50:21作者: 楚小九

NestJs是一个用于构建高效、可扩展和可维护的Nodejs应用程序的框架。NestFactory是nestjs框架中的一个重要类,第一个参数接受一个根模块作为参数,第二个参数是一个可选的配置对象,用于配置应用程序实例的行为和属性。这个配置对象可以包含如下属性:

  • 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
		});
		await app.listen(3000);
	}
	bootstrap();

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

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