Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Bug] [Erro] Import e Export - Módulo - ES6

Afim de referência: O minuto da aula em que o código parou de funcionar é 9:33, isso na aula "02 Executando comandos"

Arquivo cli.js:

import pegaArquivo from './index.js'; 

const caminho = process.argv;
pegaArquivo(caminho[2]);

Arquivo index.js:

import fs from 'fs';
import chalk from 'chalk';
import exp from 'constants';

function extraiLinks (texto){
    const regex = /\[([^[\]]*?)\]\((https?:\/\/[^\s?#.].[^\s]*)\)/gm;
    const capturas = [...texto.matchAll(regex)];
    const resultado = capturas.map(captura => ({[captura[1]] : [captura[2]]}));

    return resultado;
}

function trataErro (erro){
    throw new Error(chalk.redBright(erro.code, '=> Erro! Arquivo Não Encontrado!'));
}

async function pegaArquivo (caminhoDoArquivo){
    try{

        const encoding = 'utf-8';
        const texto = await fs.promises.readFile(caminhoDoArquivo, encoding);
        console.log(extraiLinks(texto));
    } catch (erro) {
        trataErro(erro);
    }

}
export default pegaArquivo;
  • O erro apresentado é o seguinte:
import pegaArquivo from './index.js';
^^^^^^

SyntaxError: Cannot use import statement outside a module
2 respostas
solução!

Bom dia. Sabe me dizer se no seu arquivo package.json, você está utilizando o "type" : "module" ?

Icaro, sim estou usando "type": "module", muito obrigado mano, mas finalmente descobri o que era, o problema era que quando fui colocar as bibliotecas e criar as pastas, eu fiz em uma pasta diferente da que está o arquivo package.json