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

Como se resolvia esse problema antes da versão 13 do Nodejs

Tenho uma duvida aqui sobre a solução desse problema. Eu fiz tudo o que o professor fez, porém, aparece o seguinte erro.

import {Cliente} from "./cliente" ^^^^^^

SyntaxError: Cannot use import statement outside a module [90m at Module.compile (internal/modules/cjs/loader.js:895:18)[39m [90m at Object.Module.extensions..js (internal/modules/cjs/loader.js:995:10)[39m [90m at Module.load (internal/modules/cjs/loader.js:815:32)[39m [90m at Function.Module.load (internal/modules/cjs/loader.js:727:14)[39m [90m at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)[39m [90m at internal/main/runmain_module.js:17:11[39m

eu sei que a minha versão do node é 12.18.3, e o professor disse que versões abaixo da 13 não ia pegar isso, só que achei estranho pq no site oficial do node, nem te recomendam para baixara versão 13, eles tem orientam a baixar a versão que eu tenho. E como eu sei que o nodejs funciona por modulo, então minha pergunta, antes do node 13, como resolvia esse problema ? e por que o curso optou por usar uma versão do node que não é a versão LTS ?

2 respostas
solução!

Ola Yuri,Antes da versão 13 do Node era feito usado assim

import

const { Cliente } = require('./Cliente')

export

class Cliente{}
module.exports = { Cliente };

Esse modelo de import e export não existia antes do ES15 e como o Node veio anterior ao ES15, foi adotado uma maneira propria.Creio que foi ensinado a aula utilizando o Node 13, pelo fato de ser um novo padrão que inclusive ja é utilizado pelos navegadores e transpiladores de codigo, como Babel, Typescript e outros e em breve sera adotado como padrão no Node.

Abs!

Ah, muito obrigado Wesley. Agora entendi. PS: Acho que seria legal o professor ter falado como era feito antes, como você fez. Abraços.