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

445
Vistas
No se admite 'require() de módulos ES. ' error con Node.js, express, swagger-jsdoc

Intento importar swagger-jsdoc pero aparece un error. Busqué en Internet pero otras soluciones no me funcionan.

Mi archivo server.js así:

 const express = require('express'); const app = express(); const swaggerJsDoc = require('swagger-jsdoc'); const port = 3000; app.get('/customers', (req,res) => { res.send('Customers Route'); }) app.listen(port, ()=> { console.log('Server listening on 3000'); })

Y mi archivo package.json así:

 { "name": "swaggertest", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "nodemon app.js", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "express": "^4.17.1", "nodemon": "^2.0.7", "swagger-jsdoc": "^7.0.0-rc.4", "swagger-ui-express": "^4.1.6" } }

Pero cuando trato de ejecutar este proyecto con "npm start", aparece este error:

node:internal/modules/cjs/loader:1108 throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath); ^

Error [ERR_REQUIRE_ESM]: debe usar la importación para cargar el módulo ES: /Users/me/Desktop/Projects/swaggertest/node_modules/swagger-jsdoc/index.js require() de módulos ES no es compatible. require() de /Users/me/Desktop/Projects/swaggertest/node_modules/swagger-jsdoc/index.js de /Users/me/Desktop/Projects/swaggertest/app.js es un archivo de módulo ES, ya que es un .js archivo cuyo paquete principal más cercano.json contiene "tipo": "módulo" que define todos los archivos .js en el alcance de ese paquete como módulos ES. En su lugar, cambie el nombre de index.js para que termine en .cjs, cambie el código requerido para usar import() o elimine "type": "module" de /Users/me/Desktop/Projects/swaggertest/node_modules/swagger-jsdoc/package. json ... código: 'ERR_REQUIRE_ESM' ...

¿Cómo puedo solucionar este problema?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Resolví este problema degradando swagger-jsdoc a 6.0.0

Entonces, mi archivo package.json ahora se ve así:

 { "name": "swaggertest", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "nodemon app.js", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "express": "^4.17.1", "nodemon": "^2.0.7", "swagger-jsdoc": "6.0.0", "swagger-ui-express": "^4.1.6" } }
over 4 years ago · Santiago Trujillo Denunciar
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