2
respostas

Erro no import/export

Galera, estou tendo dificuldade, não só nesse projeto, com essa syntax de import/export. Sempre recebo esses erros no console do browser: Uncaught SyntaxError: Unexpected token 'export' Uncaught SyntaxError: Cannot use import statement outside a module

Já tentei colocar "type": "module" no package.json, já tentei usar babel (acho que não consegui configurar a parada direito), enfim. Achei esse curso aqui na Alura: https://cursos.alura.com.br/course/webpack mas to com medo de perder tempo assistindo e não ter a ver com meu problema. Ele atende ao que eu preciso? Se não, qual a solução mais simples? Não seria o caso de vcs produzirem algum conteúdo para o blog ou Alura+ sobre essa questão? Ainda não está claro pra mim essa relação entre javascript modular e commonJS e toda a configuração de ambiente em um projeto com Node.

2 respostas

Eai Mateus, cara vc poderia passar mais informações, por exemplo:

  1. Qual a versão do node você está utilizando.
  2. Que tipo de projetos você está tentando usar a sintaxe do import/export.

Dessa maneira eu posso tentar te ajudar.

Mas aparentemente, esse erro é causado por utilizar a nova sintaxe do javascript. Oque pode dar problema de compatibilidade, eu uso um compilador que traduz o código moderno de js para um mais antigo e compatível, ele é muito parecido com o babel mas ele é mais rápido e simples de configurar. É um pacote chamado Sucrase.

Link de um post do medium ensinando a instalar e configurar, até para usar com o nodemon: https://lucassr.medium.com/usando-sucrase-no-nodejs-e0375359ce44#:~:text=O%20sucrase%20pode%20ser%20instalado,ser%C3%A1%20usada%20na%20aplica%C3%A7%C3%A3o%20final.&text=Para%20utiliza%2Dlo%2C%20simplesmente%20execute,para%20interpretar%20a%20sintaxe%20ES6.

Fala Marcelo,

Muito obrigado pela resposta. A versão do Node que estou usando é a v15.4.0. E o projeto é o mesmo desenvolvido no curso https://cursos.alura.com.br/course/javascript-crud-assincrono

e em outros pessoais desenvolvendo páginas para web com JavaScript.

Vou ler sua matéria e te aviso aqui se der certo!! Valeu.