He tenido en cuenta este error en mi proyecto cuando agrego "proxy": "http://localhost:6000" en mi paquete.json.
Esta es la respuesta de error después del inicio del hilo.
Objeto de opciones no válido. El servidor de desarrollo se ha inicializado con un objeto de opciones que no coincide con el esquema de la API.
- options.allowedHosts[0] debe ser una cadena no vacía. error El comando falló con el código de salida 1. información Visite https://yarnpkg.com/en/docs/cli/run para obtener documentación sobre este comando.
Pero todo está bien cuando elimino el "proxy": "http://localhost:6000" .
Esto está en mi paquete.json:
{ "name": "client", "version": "0.1.0", "private": true, "dependencies": { "@material-ui/core": "^4.12.3", "@testing-library/jest-dom": "^5.16.1", "@testing-library/react": "^12.1.2", "@testing-library/user-event": "^13.5.0", "axios": "^0.24.0", "moment": "^2.29.1", "react": "^17.0.2", "react-dom": "^17.0.2", "react-file-base64": "^1.0.3", "react-redux": "^7.2.6", "react-scripts": "5.0.0", "redux": "^4.1.2", "redux-thunk": "^2.4.1", "web-vitals": "^2.1.2" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "eslintConfig": { "extends": [ "react-app", "react-app/jest" ] }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "proxy": "http://localhost:6000" }Aquí hay una solución. Eliminar "proxy": "http://localhost:6000" . Instale el paquete http-proxy-middleware con el comando npm install http-proxy-middleware --save . Cree un archivo setupProxy.js dentro de su carpeta src. Añade estas líneas dentro:
const { createProxyMiddleware } = require('http-proxy-middleware'); module.exports = function(app) { app.use( '/api', createProxyMiddleware({ target: 'http://localhost:6000', changeOrigin: true, }) ); };Ahora, ejecuta tu aplicación. Deberia de funcionar.
Las otras soluciones no me funcionaron, así que esto es lo que encontré:
Esto parece ser un error de CRA (¿característica de seguridad?) Donde allowedHosts se establece en [undefined] porque prepareUrls no establece lanUrlForConfig cuando se especifican tanto un host como un proxy. El problema relevante de CRA GitHub está aquí .
Si corresponde en su caso de uso (lea aquí para obtener más información), esto se puede evitar creando un archivo .env y agregando DANGEROUSLY_DISABLE_HOST_CHECK DANGEROUSLY_DISABLE_HOST_CHECK=true o probando DANGEROUSLY_DISABLE_HOST_CHECK=true yarn start .
Resolví el problema con la solución http-proxy-middleware como otros. Pero para que funcionara correctamente, tuve que cerrar mi VPN. La misma respuesta que Saeed Kolivand tiene arriba. =)