2
respostas

readFile está retornando Undefined

Estou seguindo a aula, e quando executo o código, está retornando undefined,

const fs = require("fs");

const caminhoDoArquivo = process.argv;
const link = caminhoDoArquivo[2];

fs.readFile(link, "utf-8", (erro, texto) => {
  if (erro) {
    console.log(erro);
  }
  console.log(texto);
});

console.log("link", link);

Dei um log em link e está retornando o endereço: arquivo/texto-web.txt o log de erro mostra: [Error: ENOENT: no such file or directory, open 'C:\Users\lucas.araujo\Documents\personal\arquivos\texto-web.txt'] { errno: -4058, code: 'ENOENT', syscall: 'open', path: 'C:\Users\lucas.araujo\Documents\personal\arquivos\texto-web.txt' }

E por último eu observei que na aula a professora coloca require(), porém nos textos está como required, executando com esse último retorna isso: PS C:\Users\lucas.araujo\Documents\personal\Alura NodeJS> node src/index.js arquivo/texto-web.txt C:\Users\lucas.araujo\Documents\personal\Alura NodeJS\src\index.js:1 const fs = required("fs"); ^

ReferenceError: required is not defined at Object. (C:\Users\lucas.araujo\Documents\personal\Alura NodeJS\src\index.js:1:12) at Module._compile (node:internal/modules/cjs/loader:1246:14) at Module._extensions..js (node:internal/modules/cjs/loader:1300:10) at Module.load (node:internal/modules/cjs/loader:1103:32) at Module._load (node:internal/modules/cjs/loader:942:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12) at node:internal/main/run_main_module:23:47

Node.js v19.6.0

2 respostas

Eu estava tendo o mesmo problema. Com ajuda do Chatgpt consegui rodar. segue o código

Certifique-se de que a estrutura do seu projeto está correta: (src/index.js) e (arquivos/texto-web.txt)

const fs = require('fs');
const caminhoArquivo = process.argv;
const link = caminhoArquivo[2]; 
fs.readFile(link, 'utf-8', (erro, texto) => {
  if (erro) {
    console.error("Erro ao ler o arquivo:", erro);
    return;
  }
  console.log(texto);
});

No terminal -

node src/index.js arquivos/texto-web.txt

Enfrentei o mesmo problema e percebi que estava executando o arquivo diretamente da pasta src

node index.js arquivos/texto-web.txt

tentei executar o arquivo da pasta raiz do projeto e deu certo.

node src/index.js arquivos/texto-web.txt