Server Error ReferenceError: window is not defined when trying to use draw2d.Canvas using Electron + Next.js + Webpack

18 views Asked by At

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.

0

There are 0 answers