NestJS CORS不';t工作-我必须做什么?

NestJS CORS不';t工作-我必须做什么?,cors,nestjs,Cors,Nestjs,无论我如何在我的NestJS应用程序中激活CORS,我都无法让它运行。我几乎尝试了在互联网上找到的所有可能性。为什么在这么多项目中这是一个问题?是什么导致了这个问题 我试过: const app = await NestFactory.create(AppModule, {cors: true}); app.enableCors(); app.use(cors()); const options: any = {cors: '*'} // cors: true // cors: ['htt

无论我如何在我的NestJS应用程序中激活CORS,我都无法让它运行。我几乎尝试了在互联网上找到的所有可能性。为什么在这么多项目中这是一个问题?是什么导致了这个问题

我试过:

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

app.enableCors();

app.use(cors());

const options: any = {cors: '*'} // cors: true // cors: ['http://localhost:4200'] // ...
app.enableCors(options);

app.use(cors(options));

@Header('Access-Control-Allow-Origin', 'http://localhost:4200') // on a specific method

...
我总是在请求的资源中出现错误“No Access Control Allow Origin”头。


我将非常感谢您在这方面提供的任何帮助。

您如何知道它不起作用

在最近一个运行v7.2.0的NestJS项目中,我有类似的东西

  const app = await NestFactory.create(AppModule)
 
  // ... 

  if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
    app.enableCors()
  } else {
    app.enableCors({
      origin: config.get('server.origin'),
      // methods: 'GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS',
      // credentials: false,
      // ...
    })
    logger.log(`Accepting requests from origin "${config.get('server.origin')}"`)
  }
这在文档中有介绍:


除此之外,我会确保您在控制器中正确使用了Nest。如果您正在处理响应或更改标题,则可能是踩到了什么东西???

它不起作用,因为我的前端应用程序正在记录错误(请参见屏幕截图/错误消息)。谢谢,但是你提到的版本也不起作用。我也犯了同样的错误。从我的观点来看,一切都是在后端正确设置的,因为我可以通过邮递员请求资源,例如,我不知道是什么导致了这里的问题。但在其他帖子中,我也读到了同样的内容,但我最终还是找不到一个适合我的解决方案。。不管怎样,谢谢你的帮助奇怪,太糟糕了,你不能把它归结到任何特别的事情上!很高兴你成功了,干杯!尝试添加
app.options('*',cors())
,现在可以查看文档了,但老实说,我不知道为什么。。无论如何,谢谢你的帮助