1
resposta

Uncaught SyntaxError: Cannot use import statement outside a module

index.js

import { cliente } from "./clientes.js";
import { ContaCorrente } from "./contaCorrente.js";
const cliente1 = new Cliente();
cliente1.nome = "Ricardo";
cliente1.cpf = 11122233309;

const cliente2 = new Cliente();
cliente2.nome = "Alice";
cliente2.cpf = 88822233309;


const contaCorrenteRicardo = new ContaCorrente();
contaCorrenteRicardo.agencia = 1001;

contaCorrenteRicardo.depositar(-100);
contaCorrenteRicardo.depositar(100);
contaCorrenteRicardo.depositar(100);

const valorSacado = contaCorrenteRicardo.sacar(50);
console.log(valorSacado);

console.log(contaCorrenteRicardo);


var contaCorrenteCliente2 = new contaCorrente();

contaCorrenteCliente2.saldo = 0;
contaCorrenteCliente2.agencia = 1001;

contaCorrenteCliente2.depositar(5000);
contaCorrenteCliente2.sacar(600);

console.log(cliente2);
console.log(contaCorrenteCliente2);

contaCorrente.js

export class ContaCorrente {
    agencia;
    // #saldo =0 https://github.com/tc39/proposal-class-fields#private-fields
    _saldo = 0;

    sacar(valor) {
        if (this._saldo >= valor) {
            this._saldo -= valor;
            return valor;
        }
    }

    depositar(valor) {
        if (valor <= 0) {
            return;
        }
        this._saldo += valor;
    }
}

clientes.js

export class Cliente {
    nome;
    cpf;
}

package.json

{
  "name": "bytebank",
  "version": "1.0.0",
  "description": "Projeto do bytebank para seus clientes",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Murilo",
  "license": "ISC",
  "type": "module"
}

Ao executar o programa, o seguinte erro é apresentado: Uncaught SyntaxError: Cannot use import statement outside a module

1 resposta

Fala ai Murilo, tudo bem? Tente verificar qual a versão do Node instalada na sua máquina, para que o ES Modules funcione de forma nativa por padrão, a versão precisa ser pelo menos 14.x.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software