1
resposta

Problema ao rodar node .\server.js

Baixei o arquivo do projeto, e sem alterar nada, conforme a aula, ao rodar o comando node .\server.js, é retornado um erro:

"SyntaxError: Cannot use import statement outside a module"

Meu tsconfig.json: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Meu package.json: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Lembrando: Está tudo como veio no arquivo de download.

Muito ruim logo na primeiro vídeo do curso já ter que ficar investigando problemas sem nem ter feito alterações.

Fora que, as configurações para rodar o JSON no insomnia/postman estão "jogadas" num arquivo que daria um vídeo.

Isso é um curso, precisa de explicação mais detalhada, não é uma documentação on-line.

1 resposta

Olá, Pedro! Tudo bem?

O erro "SyntaxError: Cannot use import statement outside a module" geralmente ocorre porque o Node.js está tentando executar um arquivo que usa sintaxe de módulos ES6 (import/export), mas não está configurado para entender essa sintaxe no contexto em que está sendo executado.

Então você precisará ajustar 2 arquivos para que você possa utilizar a sintaxe de módulos:

  1. Acesse o arquivo tsconfig.json e altere o valor do campo "module" de "commonjs" para "ES6".
    {
      "compilerOptions": {
        "module": "ES6",
        "esModuleInterop": true,
        "noImplicitAny": true,
        "noEmitOnError": true,
      },
      "include": ["./src/**/*", "./server.ts"]
    }
    
  2. Agora, acesse o arquivo package.json e adicione a propriedade "type": "module".
    {
      "name": "typescript",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "type": "module",
        // restante do código aqui
    

Após essas alterações o seu código deve funcionar sem mais problemas.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.