I am getting a Window is not defined error when trying to use the draw2d.js library for drawing in the canvas with Electron. The project was set up using Electron + Next.js (Nextron actually) and Webpack for bundling. It seems the draw2d.js library uses window global and this is causing a window not defined when using electron.
Here's the console error:
Server Error
ReferenceError: window is not defined
This error happened while generating the page. Any console logs
will be displayed in the terminal window.
Call Stack
Object.<anonymous>
file:///..../frontend/node_modules/draw2d/dist/draw2d.js (10:4)
Module._compile
node:internal/modules/cjs/loader (1376:14)
Module._extensions..js
node:internal/modules/cjs/loader (1435:10)
Module.load
node:internal/modules/cjs/loader (1207:32)
Module._load
node:internal/modules/cjs/loader (1023:12)
Module.require
node:internal/modules/cjs/loader (1235:19)
mod.require
file:///..../frontend/node_modules/next/dist/server/require-hook.js
(65:28)
require
node:internal/modules/helpers (176:18)
Object.draw2d
file:///..../frontend/renderer/.next/server/pages/home.js
(448:18)
__webpack_require__
file:///..../frontend/renderer/.next/server/webpack-runtime.js
(33:42)
eval
webpack-internal:///./components/layout-editor.tsx (9:64)
./components/layout-editor.tsx
file:///..../frontend/renderer/.next/server/pages/home.js (78:1)
__webpack_require__
file:///..../frontend/renderer/.next/server/webpack-runtime.js
(33:42)
eval
webpack-internal:///./pages/home.tsx (30:84)
__webpack_require__.a
file:///..../frontend/renderer/.next/server/webpack-runtime.js
(97:13)
Thank you in advance for your help.
I honestly have no clue what to try... I have tried preloading stuff.