3
respostas

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module:

Olá pessoal! atualizei o node e o nodejs e esse erro é retornado, estou usando o node v12.16.3. Quando digito "nodejs -v" ele me retorna o seguinte: "Command 'nodejs' not found, but can be installed with:

sudo apt install nodejs " Porém ele está instalado, obviamente. Não faço idéia do que está causando o erro...Fico no aguardo, abraços!

//index.js
import {Cliente} from "./Cliente.js";
import {Cc} from "./Cc.js";

const cliente1 = new Cliente;
  cliente1.nome = 'emanuel';
  cliente1.cpf = '52487489652';

const cliente2 = new Cliente;
  cliente2.nome = 'Sofia';
  cliente2.cpf = '88557489652';

const CcEmanuel = new Cc;
  CcEmanuel.agencia = 52410

CcEmanuel.sacar(150)
CcEmanuel.depositar(150)
  console.log(CcEmanuel);


const CcSofia = new Cc
CcSofia.agencia = 0652;

CcSofia.depositar(1000)
CcSofia.sacar(300)
  console.log(CcSofia);
//package.json
{
  "name": "bytebank",
  "version": "1.0.0",
  "description": "ByteBank - Alura",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "emanuelcontinib",
  "license": "ISC",
  "type": "module"
}
//Cc.js
export class Cc {
  _saldo = 0;
  agencia;

  sacar(valor){
    if(this._saldo < valor){
      return valor;  
    }
      this._saldo -= valor;  
      console.log(this._saldo);

  }
  depositar(valor){
    if(valor <= 0) {
      return this._saldo
    }
      console.log(this._saldo);
      this._saldo += valor
  }
}
//Cliente.js

export class Cliente {
  nome
  cpf
}
3 respostas

Usando esse comando "experimental" consegui executar. Isso não deveria acontecer já que meu node é atual... Enfim, por hora me quebrou o galho pra poder continuar usando import/export, senão deveria voltar pro require. Abraços

node --experimental-modules index.js

Oi, tudo bem?

Que estranho isso acontecer, quando você dá o comando node -v ele aparece a versão?

No meu PC aconteceu a mesma coisa. Resolvi instalando a versão atual (ao invés da LTS). Aí não precisa ficar usando --experimental-modules.