Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Cannot import outside a module.

Quando transporto o código de "main.js" para "criaTarefa.js", esse erro de módulo aparece, mas o código funciona mesmo assim. Testei comentar os imports por desconfiar não serem mais necessários por causa do erro, mas aí o código para. Descomento os imports e ele volta a dar erro porém volta a funcionar.

5 respostas

Oi Gabriel, tudo certo?

Isso acontece pois você não definiu o arquivo JS como sendo do tipo de módulos, por isso não está ocorrendo a importação de maneira correta. Para arrumar isso, no seu HTML, você adiciona type="module" na hora de importar o Javascript, dessa forma:

<script src="main.js" type="module"></script>

Além disso, você precisa iniciar sua aplicação em um servidor (o localhost mesmo). Para isso, você pode utilizar o BrowserSync ou a extensão do VSCode chamada Live server. Nessa aula o instrutor explica melhor sobre módulos e essa questão do servidor.

Agora irá funcionar como o esperado =) Espero ter ajudado, bons estudos!

Já está como módulo no HTML. Essa parte já veio pronta no arquivo baixado antes da aula. O erro está apontando pro "criaTarefa.js".

Coloquei "type: 'module'" no "criaTarefa.js" e o problema sumiu. Isso é gambiarra ou devemos declarar todos os .js como módulo?

solução!

Então Gabriel, se estamos utilizando o import em determinado arquivo JS, precisamos declará-lo como type="module" mesmo, para o Javascript entender que é um arquivo do tipo módulo e conseguir importar de forma correta =)

Entendi, muito obrigado!