1
resposta

Correção de erro [err_module_not_found]: cannot find module

Me deparei com o erro [err_module_not_found]: cannot find module durante a execução do capítulo 4, onde precisei alterar o JSON, as extensões dos arquivos e tabem os import's e export's.

Demorei um tempo para conseguir encontrar todos os pontos necessários para funcionar.

Com o intuito de ajudar quem está passando por esse problema, vou disponibilizar os códigos.

cli.mjs

import chalk from 'chalk'
import {pegaArquivo}  from './index.mjs';

const caminho = process.argv

async function processaTexto(caminhoDeArquivo) {
    const resultado = await pegaArquivo(caminhoDeArquivo[2]);
    console.log(chalk.yellow('lista de links'), resultado);
}

processaTexto(caminho)

index.mjs

import chalk from 'chalk'
import fs from 'fs'

function extraiLinks(texto) {
  const regex = /\[([^\]]*)\]\((https?:\/\/[^$#\s].[^\s]*)\)/gm;
  const arrayResultados = [];
  let temp;
  while((temp = regex.exec(texto)) !== null) {
    arrayResultados.push({ [temp[1]]: temp[2] })
  }
  return arrayResultados.length === 0 ? 'não há links' : arrayResultados;
}

function trataErro(erro) {
  throw new Error(chalk.red(erro.code, 'não há arquivo no caminho'));
}

export  async function pegaArquivo(caminhoDoArquivo) {
  const encoding = 'utf-8';
  try {
    const texto = await fs.promises.readFile(caminhoDoArquivo, encoding)
    return(extraiLinks(texto));
  } catch(erro) {
    trataErro(erro);
  }
}

package.json

{
  "type": "module",
  "name": "primeira_biblioteca",
  "version": "1.0.0",
  "description": "",
  "main": "cli.mjs",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "cli": "node cli.mjs ./arquivos/texto1.md"
  },

  "author": "",
  "license": "ISC",
  "dependencies": {
    "chalk": "^5.0.1"
  }
}

Deixo tambem meu repositório no GitHub pra quem interessar. https://github.com/WalterSopraniJr/learning-nodeJS

1 resposta

Olá, Walter! Tudo bem com você?

Peço desculpa pela demora em responder o seu tópico.

Obrigado por compartilhar a sua experiência e forma de solução para esse problema. Tenha certeza que isso ajudará pessoas que enfrentarem um problema parecido. Continue assim, sendo proativo e compartilhando conhecimento!

Caso durante os seus estudos você tiver problemas ou dúvidas pode recorrer ao fórum, contamos com uma grande comunidade que está aqui para ajudá-lo.

Grande abraço e bons estudos!