Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

432
Vistas
Js: no se puede importar un objeto desde un archivo externo con node-fetch importado

Tengo unas credenciales guardadas en un archivo llamado secrets.js , en la misma carpeta del archivo main.js En el archivo secrets.js escribí esto:

 const secrets = {} secrets.key = "..." secrets.discord = "..." secrets.cityName = "..." module.exports = secrets

En el archivo main.js escribí esto:

 const secrets = require('./secrets.js') const fetch = require('node-fetch') async function main(){ console.log(secrets) } main()

Si ejecuto el código me sale este error:

 internal/modules/cjs/loader.js:1216 throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath); ^ Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: ./weather/node_modules/node-fetch/src/index.js require() of ES modules is not supported. require() of ./weather/node_modules/node-fetch/src/index.js from ./weather/main.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules. Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from ./weather/node_modules/node-fetch/package.json. at Object.Module._extensions..js (internal/modules/cjs/loader.js:1216:13) at Module.load (internal/modules/cjs/loader.js:1049:32) at Function.Module._load (internal/modules/cjs/loader.js:937:14) at Module.require (internal/modules/cjs/loader.js:1089:19) at require (internal/modules/cjs/helpers.js:73:18) at Object.<anonymous> (./weather/main.js:2:15) at Module._compile (internal/modules/cjs/loader.js:1200:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10) at Module.load (internal/modules/cjs/loader.js:1049:32) at Function.Module._load (internal/modules/cjs/loader.js:937:14) { code: 'ERR_REQUIRE_ESM' }

Pero si comento esta línea const fetch = require('node-fetch') :

 const secrets = require('./secrets.js') //const fetch = require('node-fetch') async function main(){ console.log(secrets) } main()

entonces funciona y obtengo el resultado esperado:

 { key: '...', discord: '...', cityName: '...' }

Parece que importar node-fetch es la causa del error. Estoy usando la v16.10.0 de node. ¿Alguien me puede ayudar?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda