Código:
import fetch from 'node-fetch';Error:
Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\youar_mnnijcy\Documents\Work\Typescript\CoredV5-TS\node_modules\node-fetch\src\index.js from C:\Users\youar_mnnijcy\Documents\Work\Typescript\CoredV5-TS\src\commands\general\ping.ts not supported. Instead change the require of index.js in C:\Users\youar_mnnijcy\Documents\Work\Typescript\CoredV5-TS\src\commands\general\ping.ts to a dynamic import() which is available in all CommonJS modules. at Object.<anonymous> (C:\Users\youar_mnnijcy\Documents\Work\Typescript\CoredV5-TS\src\commands\general\ping.ts:15:38) at Module.m._compile (C:\Users\youar_mnnijcy\AppData\Local\Yarn\Data\global\node_modules\ts-node\dist\index.js:704:29) at Object.require.extensions.<computed> [as .ts] (C:\Users\youar_mnnijcy\AppData\Local\Yarn\Data\global\node_modules\ts-node\dist\index.js:706:16) at bot.<anonymous> (C:\Users\youar_mnnijcy\Documents\Work\Typescript\CoredV5-TS\src\classes\bot.ts:43:44) at Generator.next (<anonymous>) at fulfilled (C:\Users\youar_mnnijcy\Documents\Work\Typescript\CoredV5-TS\src\classes\bot.ts:5:58) { code: 'ERR_REQUIRE_ESM' }Información Adicional:
"node-fetch": "^3.0.0"
"@types/node-fetch": "^3.0.3"
Cuando intenté cambiar a la versión 2.6.2, recibí un error de mi IDE para instalar @types/node-fetch , que instalé, pero sigo recibiendo ese error.
Cómo solucioné este problema:
Desinstale node-fetch y los tipos,
npm uninstall node-fetch npm uninstall @types/node-fetch
Instale cualquier 2. versión de node-fetch , usé node-fetch@^2.6.1 con @types/node-fetch@2.5.12
Instalación:
npm install node-fetch@^2.6.1 npm install --save-dev @types/node-fetch@2.5.12
De forma predeterminada, TypeScript compilará su código en ES3 JavaScript. Esto hará que su importación se compile en este archivo . Puede cambiar ese comportamiento cambiando el objetivo en su tsconfig a ES6 o ES2015 .
De esta forma, el JavaScript generado usará import en lugar de require y funcionará con node-fetch@3.x