Estoy tratando de ejecutar la aplicación React usando el servidor JSON, como mi API de back-end. Pero se obtiene un error de CORS mientras se ejecuta en un puerto diferente
Necesito alguna solución para poder ejecutar en el mismo puerto ¡Gracias de antemano!
No puede abrir el mismo puerto dos veces.
Básicamente tienes dos opciones
Puede integrar el proxy directamente usando nodejs: CRA admite esta opción: https://create-react-app.dev/docs/proxying-api-requests-in-development/
Conveniently, this avoids CORS issues and error messages like this in development: Fetch API cannot load http://localhost:4000/api/todos. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.Implementar encabezados CORS no es tan difícil como parece.
Consulte la documentación del servidor json: https://www.npmjs.com/package/json-server
const jsonServer = require('json-server') const server = jsonServer.create() const middlewares = jsonServer.defaults() // Set default middlewares (logger, static, cors and no-cache) server.use(middlewares) También hay una opción CLI si usa json-server directamente a través de la línea de comandos. De forma predeterminada, los CORS están habilitados. Por lo tanto, parece que necesita jsonServer.defaults() para crear su middleware.