Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Quando a aplicação tiver módulos, sempre vai precisar do servidor ?

Olá pessoal,

Cheguei ao fim deste curso JS na Web: Manipule o DOM com JavaScript, e o instrutor aplicou o conceito do módulo no JS, também mostros rapidamente duas forma de o executar isso em servidor. Eu optei pelo plug do Visual code.

Dúvidas:

  • Tentei rodar html direto no navegar, e os módulos não funcionaram, neste caso vamos precisar sempre de um servidor ?
  • Pra rodar o servidor neste caso, o computador vai ter que está conectado a internet ?
  • Gostaria de mais uma pitada sobre como isso funciona este negocio com servidor e porque mesmo programando local, precisamos do servidor ?
1 resposta
solução!

Olá, Davilson, parabéns por ter finalizado o curso! Continue assim, com certeza irá muito longe :)

Tentei rodar html direto no navegar, e os módulos não funcionaram, neste caso vamos precisar sempre de um servidor ?

Sim, caso contrário o seu navegador provavelmente imprimirá no console um erro de CORS, assim como é dito na documentação sobre Módulos JS:

  • Você precisa prestar atenção nos testes locais - se você tentar carregar o arquivo HTML localmente (i.e. com um arquivo:// URL), você encontrará erros do CORS devido a requisitos de segurança do módulo JavaScript. Você precisa fazer seus testes através de um servidor.

O CORS (Cross-Origin Resource Sharing) é um mecanismo que fornece segurança ao realizar requisições de diferentes origens do seu arquivo. Na documentação, é dito o seguite:

Por motivos de segurança, navegadores restringem requisições cross-origin HTTP iniciadas por scripts.

E de fato, ao tentar fazer isso, no console aparece um erro assim:

Access to script at 'caminho_do_arquivo' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.

Ou seja, para utilizar os módulos javascript, você deve utilizar um dos protocolos mencionados acima, e um servidor local pode te fornecer um protocolo http ou https.

Pra rodar o servidor neste caso, o computador vai ter que está conectado a internet ?

Não, você pode testar aí o servidor local sem internet que funcionará normalmente!

Gostaria de mais uma pitada sobre como isso funciona este negocio com servidor e porque mesmo programando local, precisamos do servidor ?

Você pode ler mais detalhadamente nos links sobre módulos Javascript e sobre CORS que mandei! Mas basicamente, o CORS impede a importação de arquivos utilizando Javascript, se você não estiver usando um servidor.

Espero ter ajudado! Qualquer dúvida estaremos aqui para te auxiliar. Bons estudos :)