'window.require is not a function at Module./renderer.js

When I run the App I get this error: TypeError: window.require is not a function at Module./renderer.js I delete window. from the line then I get another error Cannot find module 'fs' at webpackMissingModule

There are many answers on Stackoverflow, I tried all non of them work for me

Preload.js

const { ipcMain } = require("electron");
const sqlite3 = require("sqlite3");

const database = new sqlite3.Database("./public/db.sqlite3", (err) => {
if (err) console.error("Database opening error: ", err);
});

ipcMain.on("asynchronous-message", (event, arg) => {
 const sql = arg;
database.all(sql, (err, rows) => {
event.reply("asynchronous-reply", (err && err.message) || rows);
});
});

Renderer.js

const electron = window.require("electron");
const { ipcRenderer } = electron;

export default function send(sql) {
return new Promise((resolve) => {
ipcRenderer.once("asynchronous-reply", (_, arg) => {
  resolve(arg);
});
ipcRenderer.send("asynchronous-message", sql);
});
}

Electron.js

const electron = require("electron");

require("../src/message-control/main");

const { app } = electron;
const { BrowserWindow } = electron;

const path = require("path");
const isDev = require("electron-is-dev");

let mainWindow;

function createWindow() {
mainWindow = new BrowserWindow({
frame: false,
webPreferences: {
  preload: path.join(__dirname, "../src/message-control/preload.js"),
},
});

ipcMain.on("set-title", (event, title) => {
const webContents = event.sender;
const win = BrowserWindow.fromWebContents(webContents);
win.setTitle(title);
});

mainWindow.loadURL(
isDev
  ? "http://localhost:3000"
  : `file://${path.join(__dirname, "../build/index.html")}`
);
mainWindow.on("closed", () => {
mainWindow = null;
});
}

app.on("ready", createWindow);

app.on("window-all-closed", () => {
if (process.platform !== "darwin") {
app.quit();
}
});

app.on("activate", () => {
if (mainWindow === null) {
createWindow();
}
});


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source