Tentei fazer como a instrutora, que roda a função carregaArquivo() com o parâmetro certo e, em seguida, com o parâmetro errado. Porém, usei o parâmetro errado de forma diferente: invés de "./arquivos/" usei "./arquivos/texto", ou seja, usei o nome do arquivo mas sem sua extensão.
O output do console foi esse:
node .\index.js
Processo concluido.
file:///D:/Users/vinicius.pessoa/Documents/Alura/Node.js%20-%20Criando%20sua%20primeira%20biblioteca/Projeto/index.js:5
throw new Error(chalk.red(erro));
^
Error: Error: ENOENT: no such file or directory, open 'D:\Users\vinicius.pessoa\Documents\Alura\Node.js - Criando sua primeira biblioteca\Projeto\arquivos\text'
at trataErro (file:///D:/Users/vinicius.pessoa/Documents/Alura/Node.js%20-%20Criando%20sua%20primeira%20biblioteca/Projeto/index.js:5:11)
at carregaArquivo (file:///D:/Users/vinicius.pessoa/Documents/Alura/Node.js%20-%20Criando%20sua%20primeira%20biblioteca/Projeto/index.js:16:9)
Como podem ver, o primeiro processo é concluído, mas sem mostrar o texto. (sim, estou printando o texto na função, e o arquivo não está vazio.)
Mas quando coloco o parâmetro usado pela instrutora, o texto do arquivo aparecer ("testo teste de MD").
node .\index.js
testo teste de MD
Processo concluido.
Processo concluido.
file:///D:/Users/vinicius.pessoa/Documents/Alura/Node.js%20-%20Criando%20sua%20primeira%20biblioteca/Projeto/index.js:5
throw new Error(chalk.red(erro));
^
Error: Error: EISDIR: illegal operation on a directory, read
at trataErro (file:///D:/Users/vinicius.pessoa/Documents/Alura/Node.js%20-%20Criando%20sua%20primeira%20biblioteca/Projeto/index.js:5:11)
at carregaArquivo (file:///D:/Users/vinicius.pessoa/Documents/Alura/Node.js%20-%20Criando%20sua%20primeira%20biblioteca/Projeto/index.js:16:9)
Gostaria de saber por quê isso ocorre.