无法使用应用实例方法在 NestJS 中启用 CORS

Posted

技术标签:

【中文标题】无法使用应用实例方法在 NestJS 中启用 CORS【英文标题】:Unable to enable CORS in NestJS with app instance methods 【发布时间】:2019-03-06 21:26:08 【问题描述】:

我无法为 NestJs 启用 CORS 进行开发,使用 main.hmr.ts 中的大多数内置方法如下:

const app = await NestFactory.create(AppModule,  cors: true );

const app = await NestFactory.create(AppModule,  cors:  corsOptions...  );

app.enableCors() ;

app.enableCors( corsOptions.. );

app.use(cors());

app.use( (req, res, next) => 
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Origin', 'Content-Type, Accept');
 );

感觉就像我在 main.hmr.ts 中所做的一切都被忽略了。

唯一有效的是在控制器中使用 @Header 装饰器,即 @Header('Access-Control-Allow-Origin', '*')。

这在开发过程中作为临时措施是可以的,但长期来看并不理想。

我检查了编译后的 javascript,看起来还不错。我在 Windows 和 MacOS 上都试过了;同样的问题。我可能做错了什么?

【问题讨论】:

这能回答你的问题吗? NestJS enable cors in production 【参考方案1】:

我正在更新 main.hmr.ts,它仅用于生产中的 webpack。我应该更新 main.ts。

【讨论】:

以上是关于无法使用应用实例方法在 NestJS 中启用 CORS的主要内容,如果未能解决你的问题,请参考以下文章

如何解决在 NestJs 应用程序中应该是 Injectable 类的未实例化属性?

无法在 NestJS 应用程序中启动并运行猫鼬虚拟填充

NestJs / Mongoose 在 Docker 撰写时无法建立 MongoDB 数据库连接

在 NestJS Jest 测试中覆盖提供程序

使用猫鼬崩溃在 NestJS 中实例化新文档

NestJS 返回 HTTP 请求的结果