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');
CodePudding user response:
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;
CodePudding user response:
U need replace package name with variable or functions with brackets around them
import { app, session, BrowserWindow } from "electron";
This will work for sure