将node-fetch
更新到v3后,在尝试启动我的电子应用程序时出现以下JavaScript错误消息:
异常:Error [ERR_REQUIRE_ESM]: require() of ES Module(…)not supported。而是改变所需的…到动态import()…
我发现这里应该替换
const fs = require('fs');
:
import fs from "fs";
但是如何以同样的方式替换下面的内容呢?
// Modules to control application life and create native browser window
const {
app,
session,
BrowserWindow
} = require('electron');
通常,您会像使用fs
和其他ES模块一样执行此操作:
import { app, session, BrowserWindow } from "electron";
然而,我不相信你可以直接用电子做这件事,因为它是一个CommonJS模块,并不是所有的模块都直接命名为出口。
您应该能够通过默认导入导入您需要的内容:
import electron from "electron";
const { app, session, BrowserWindow } = electron;
您需要将包名替换为变量或带括号的函数
import { app, session, BrowserWindow } from "electron";