solo uso
const fetch = require('node-fetch')y obtengo
Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\Alex\Desktop\rollbot\node_modules\node-fetch\src\index.js from C:\Users\Alex\Desktop\rollbot\index.js not supported. Instead change the require of C:\Users\Alex\Desktop\rollbot\node_modules\node-fetch\src\index.js in C:\Users\Alex\Desktop\rollbot\index.js to a dynamic import() which is available in all CommonJS modules. { code: 'ERR_REQUIRE_ESM' }Todos mis otros paquetes funcionan, solo node-fetch hace esto. ¿Qué debo hacer para usar node-fetch?
Desde el archivo Léame del paquete node-fetch :
node-fetch es un módulo exclusivo de ESM: no puede importarlo con require. Le recomendamos que permanezca en v2, que está construido con CommonJS, a menos que use ESM usted mismo. Continuaremos publicando correcciones de errores críticos para él.
Si desea require , cambie a v2.
La otra opción que tiene es usar la import('node-fetch').then(...)
En mi caso, personalmente me resultó más fácil requerir ('búsqueda cruzada') en su lugar. La documentación está aquí: búsqueda cruzada
Se puede usar en CommonJS y en módulos ES6.
Lo que encontré es que la última versión de node-fetch cambió a módulos ES de forma predeterminada. Puede:
npm uninstall node-fetchnpm install node-fetch@2¡Esto ha funcionado para mí!