概要
Express + Vue.jsで開発をしていて、Express.jsでCORS設定をしたのにCORSエラーで怒られ続けて少しハマりました。
解決方法
optionsSuccessStatus: 200を設定することで解決しました。
公式ドキュメントでは204で設定していましたが、IEなどのレガシーブラウザでは 正常に動作しない可能性があるようなので200で返すようにして良さそうです。
公式ドキュメント : https://expressjs.com/en/resources/middleware/cors.html#configuration-options
app.use(cors({
origin: 'http://localhost:5173',
credentials: true,
optionsSuccessStatus: 200 // この行を入れないと駄目だった
}));