Después de actualizar node-fetch a v3, aparece el siguiente mensaje de error de JavaScript al intentar iniciar mi aplicación Electron:
Excepción no detectada: error [ERR_REQUIRE_ESM]: require() del módulo ES (...) no compatible. En su lugar, cambie el requisito... a una importación dinámica()...
He encontrado aquí que debería reemplazar
const fs = require('fs');con:
import fs from "fs";Pero, ¿cómo reemplazar de la misma manera lo siguiente?
// Modules to control application life and create native browser window const { app, session, BrowserWindow } = require('electron');Por lo general, haría esto como lo hizo con fs y lo haría con otros módulos ES:
import { app, session, BrowserWindow } from "electron";Sin embargo, no creo que pueda hacer esto directamente con Electron, ya que es un módulo CommonJS y no todos los módulos se nombran directamente como exportaciones.
Sin embargo, debería poder importar lo que necesita a través de la importación predeterminada:
import electron from "electron"; const { app, session, BrowserWindow } = electron;Necesita reemplazar el nombre del paquete con variable o funciones con corchetes alrededor de ellos
import { app, session, BrowserWindow } from "electron";
Esto funcionará con seguridad