Decidi escrever esse pequeno artigo para explicar um “workaround” interessante para evitar CORS, na verdade, permitir, já que CORS significa Cross-origin Resource Sharing e os navegadores tentam impedir isso por segurança. Mas, como estamos em um ambiente local e é nossa aplicação, podemos “desabilitar” utilizando um servidor web para servir os arquivos do diretório em vez de tentar acessar diretamente ele.
E por sorte temos isso muito fácil caso tenha o python instalado, ele tem um servidor http que pode ser executado em uma pasta específica!
No exemplo a seguir fiz o build de uma aplicação React, Svelte, ou qualquer outra lib de SPA:

A tela é apresentada sem nenhum conteúdo, isso acontece porque esse tipo de aplicação tem o mínimo de HTML, tudo é carregado dinamicamente com JavaScript que “monta” em uma tag principal todos os componentes e como o CORS bloqueou os scripts, nada foi carregado.
No terminal entro no diretório onde foi feito o build da aplicação que no me caso fica em ./dist

E então executo o seguinte comando:
python3 -m http.server -d ./ 8081
Vamos destrinchar este comando:
- “-m http.server” executa um módulo do python, no caso o http.server.
- “-d ./” especifica o diretório, neste caso o diretório atual onde estou executando o comando.
- “8081” o último argumento é em qual porta irá ser executado, o padrão é 8080 e abre em seu localhost, mas é possível personalizar, para evitar conflito com outro programa.

E com isso, vemos nossa aplicação funcionando normalmente!