GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Error ao imprimir no console utilizando o Node

Tô aprendendo NODE , já instalei tudo certo mas quando imprimir algo no console por ex: console.log(__filename);
Tenho esse error, alguém sabe o que poderia ser esse error? Minha versão do Node é 16.13

node "/Users/daysonrodrigues/Library/Mobile Documents/com~apple~CloudDocs/Aprendendo WEB/Rockeatseat/5-node/console.js"
file:///Users/daysonrodrigues/Library/Mobile%20Documents/com~apple~CloudDocs/Aprendendo%20WEB/Rockeatseat/5-node/console.js:1
console.log(__filename);
        ^

ReferenceError: __filename is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and '/Users/daysonrodrigues/Library/Mobile Documents/com~apple~CloudDocs/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
at file:///Users/daysonrodrigues/Library/Mobile%20Documents/com~apple~CloudDocs/Aprendendo%20WEB/Rockeatseat/5-node/console.js:1:13
at ModuleJob.run (node:internal/modules/esm/module_job:185:25)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:281:24)
at async loadESM (node:internal/process/esm_loader:88:5)
at async handleMainPromise (node:internal/modules/run_main:65:12)

[Done] exited with code=1 in 0.118 seconds

o que é __filename?

o __filename mostra o nome do arquivo no console, vi isso na documentação do node ex:
console.log(__filename);

ok patron, mostra o codigo.

eu tentei aqui e deu certo.

Versão mais antiga que teste: v12
Versão mais nova: v17

const path = require('path');
const nomeArquivo = path.basename(__filename);

console.log(nomeArquivo);
//