CORS es necesario para compartir recursos en distintos dominios. Hoy vamos a ver cómo habilitar CORS con Node.js al usar express.

Sé que CORS no es una cosa “que se habilite” pero encuentro facilidad al decirlo de este modo. De hecho lo que se hace es responder con un encabezado indicando cuáles dominios se permiten para compartir recursos.

Bien, veamos cómo configurar CORS con Node.

Instalando CORS

Comenzamos instalando el paquete de cors con Node package manager:

npm install --save cors

Usar cors

Ahora lo importamos:

const cors = require("cors");

Y lo usamos como middleware:

app.use(cors());

Con eso ya podrás compartir recursos en distintos dominios y orígenes. Sigue leyendo para ver un ejemplo más completo y cómo permitir cierto dominio.

Nota: la variable app es la que creas con express, con algo como const app = express();

Configurando cors

Al indicar el uso del middleware de cors puedes indicar el dominio. En mi caso, como estoy conectando una app de angular, solo quiero que se acepten las peticiones desde localhost:4200 así que:

const DIRECTORIO_PERMITIDO_CORS = "http://localhost:4200";
app.use(cors({
  origin: DIRECTORIO_PERMITIDO_CORS
}));

Como puedes ver, el dominio se indica en origin. Me parece que igualmente se pueden configurar varios dominios con una función, pero eso es cosa de otro post.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto