After updating node-fetch
to v3, the following JavaScript error message appears when trying to launch my Electron app:
Uncaught Exception: Error [ERR_REQUIRE_ESM]: require() of ES Module (…) not supported. Instead change the required … to a dynamic import() …
I have found here that I should replace
const fs = require('fs');
with:
import fs from "fs";
But how to replace in the same fashion the following?
// Modules to control application life and create native browser window const { app, session, BrowserWindow } = require('electron');
Advertisement
Answer
Typically, you would do this as you have done it with fs
and would do with other ES modules:
import { app, session, BrowserWindow } from "electron";
However, I don’t believe you can do this directly with Electron as it’s a CommonJS module and not all the modules are directly named as exports.
You should be able to import what you need via the default import however:
import electron from "electron"; const { app, session, BrowserWindow } = electron;