将 JS 要求("...")替换为 ESM 导入



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";

相关内容

  • 没有找到相关文章

最新更新