NestJS enable cors in production(NestJS 在生产中启用 cors)
问题描述
我已经按照 官方教程在我的 NestJS 应用中启用了 CORS,所以我的 main.ts
如下所示:
I've enabled CORS in my NestJS app following the official tutorial, so my main.ts
looks like the following:
import { FastifyAdapter, NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule, new FastifyAdapter(), { cors: true });
await app.listen(3000);
}
bootstrap();
当我使用 npm run start:dev
运行应用程序时它可以工作.
and it works when I run the application using npm run start:dev
.
但是,当我尝试首先使用 npm run webpack
编译应用程序,然后使用 node server.js
运行它时,cors 将无法工作.
However when I try to first compile the application using npm run webpack
and then running it using node server.js
, the cors will not work.
来自客户端的 http 请求将失败:
The http request from the client will fail with:
对预检请求的响应未通过访问控制检查:请求的资源上不存在Access-Control-Allow-Origin"标头.Origin 'http://localhost:8000' 因此不允许访问.响应的 HTTP 状态代码为 404.
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access. The response had HTTP status code 404.
推荐答案
不知何故,问题是使用 npm run webpack
编译它.如果我使用 prestart:prod
编译它,那么它将起作用.
Somehow the issue was compiling it using npm run webpack
. If I compile it using prestart:prod
then it will work.
感谢@georgii-rychko 通过评论提出建议.
Thanks @georgii-rychko for suggesting it via comments.
这篇关于NestJS 在生产中启用 cors的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:NestJS 在生产中启用 cors
基础教程推荐
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01
- 直接将值设置为滑块 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01