Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

494
Visualizações
Error [ERR_REQUIRE_ESM]: no se admite require() del módulo ES

Estoy tratando de hacer un bot de Discord que solo diga si alguien está en línea en el juego.

Sin embargo, sigo recibiendo este mensaje:

[ERR_REQUIRE_ESM]: require() del módulo ES no compatible. En su lugar, cambie el requerimiento de index.js en... a una importación dinámica () que está disponible en todos los módulos de CommonJS.

Este es mi código:

 module.exports = { name: 'username', description: "this is the username command", async execute(message, args) { const fetch = require('node-fetch'); if (args.length !== 1) { return message.channel.send("invalid username wtf") } const ign = args[0] if (ign.length > 16 || ign.length < 3) { return message.channel.send("invalid username wtf") } const uuid = await fetch(`https://api.mojang.com/users/profiles/minecraft/${ign}`).then(data => data.json()).then(data => data.id).catch(err => message.channel.send("error wtf")); const onlineInfo = await fetch(`https://api.hypixel.net/status?key=${john}&uuid=${uuid}`).then(data => data.json()); if (uuid.length !== 32) { return; } if (onlineinfo.success) { if (onlineinfo.session.online) { message.channel.send("they are online") } else { message.channel.send("they are offline") } } else { message.channel.send("hypixel api bad wtf") } } }

Este es mi archivo package.json :

 { "name": "discordbot", "version": "1.0.0", "main": "main.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node main.js" }, "author": "", "license": "ISC", "description": "", "dependencies": { "discord.js": "^13.0.1", "node-fetch": "^3.0.0" } }
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

La última versión node-fetch no usa la sintaxis require() para importar el paquete. Debes ir a tu package.json y escribir

 { "type": "module", }

para usar la sintaxis de import e importar node-fetch , pero luego no puede usar require para ningún otro paquete que necesite para trabajar solo con la declaración de import .

O puede usar otros paquetes como Got o Axios que se pueden importar mediante la sintaxis require() .

over 4 years ago · Santiago Trujillo Relatório

0

node-fetch v3 recientemente dejó de admitir la forma require de importarlo a favor de los módulos ES. Deberá usar las importaciones de ESM ahora, como:

 import fetch from "node-fetch";

en la parte superior de su archivo.

over 4 years ago · Santiago Trujillo Relatório

0

Me lo imaginé. Solo tuve que degradar node-fetch a 2.6.1, ya que las versiones superiores solo usan ESM, lo que provocó muchos errores.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda