• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

577
Views
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" } }
about 3 years ago · Santiago Trujillo
3 answers
Answer question

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() .

about 3 years ago · Santiago Trujillo Report

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.

about 3 years ago · Santiago Trujillo Report

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.

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error