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 :)