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

366
Vistas
¿Cómo puedo usar LowDB en Electron sin ES6?

Quiero usar LowDB con Electron en javascript simple, pero tengo el error "Debe usar la importación para cargar el módulo ES". Investigué un poco, pero el contenido es muy antiguo y no funciona. esto es lo que encontré: https://github.com/typicode/lowdb/issues/169

este es el código que tengo error:

JavaScript

 const electron = require("electron"); const { join } = require("path"); const { Low, JSONFile } = require("lowdb"); // this line gives error const remote = process.type === "browser" ? electron : require("@electron/remote"); const app = electron.app ? electron.app : remote.app; const database = process.env.NODE_ENV === "development" ? join(__dirname, "dev_db.json") : join(app.getPath("userData"), "todoiva_db.storm"); // Use JSON file for storage const adapter = new JSONFile(database); const db = new Low(adapter); // Read data from JSON file, this will set db.data content db.read();

El error completo:

La aplicación arrojó un error durante la carga Error [ERR_REQUIRE_ESM]: debe usar import para cargar el módulo ES: /Users/mrocks/others/sipsak/node_modules/lowdb/lib/index.js require() de módulos ES no es compatible. require() de /Users/mrocks/others/sipsak/node_modules/lowdb/lib/index.js de /Users/mrocks/others/sipsak/database.js es un archivo de módulo ES ya que es un archivo .js cuyo padre más cercano package.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/mrocks/others/sipsak/node_modules/lowdb/package.json.

 at new NodeError (node:internal/errors:370:5) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1128:13) at Module.load (node:internal/modules/cjs/loader:982:32) at Module._load (node:internal/modules/cjs/loader:823:12) at Function.c._load (node:electron/js2c/asar_bundle:5:13331) at Module.require (node:internal/modules/cjs/loader:1006:19) at require (node:internal/modules/cjs/helpers:93:18) at Object.<anonymous> (/Users/mrocks/others/sipsak/database.js:3:27) at Module._compile (node:internal/modules/cjs/loader:1110:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1140:10)

Solo quiero usar LowDB sin ES6.

actualización: seguí las instrucciones aquí pero no ayudaron a resolver mi problema.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La nueva versión de lowdb se ha convertido en un paquete ESM puro, por lo que no puede usar "requerir". Para usar lowdb sin ESM, creo que la única forma es usar la versión anterior de lowdb. He probado la v1.0.0 de lowdb, que se puede usar por “requerir” perfectamente.

actualización: por favor este problema: https://github.com/typicode/lowdb/issues/534

about 4 years ago · Juan Pablo Isaza 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