VadimDez/ng2-pdf-viewer

ReferenceError: window is not defined

aroshanzamir opened this issue · 2 comments

ERROR Error: Uncaught (in promise): ReferenceError: window is not defined
ReferenceError: window is not defined
    at <anonymous> (./node_modules/pdfjs-dist/web/pdf_viewer.js:1387:3)
    at ZoneAwarePromise (./node_modules/zone.js/dist/zone-node.js:1273:25)
    at Array.Object.defineProperty.value (./node_modules/pdfjs-dist/web/pdf_viewer.js:1386:26)
    at __w_pdfjs_require__ (./node_modules/pdfjs-dist/web/pdf_viewer.js:8367:41)
    at Array.Object.defineProperty.value (./node_modules/pdfjs-dist/web/pdf_viewer.js:384:17)
    at __w_pdfjs_require__ (./node_modules/pdfjs-dist/web/pdf_viewer.js:8367:41)
    at Array.Object.defineProperty.value (./node_modules/pdfjs-dist/web/pdf_viewer.js:51:25)
    at __w_pdfjs_require__ (./node_modules/pdfjs-dist/web/pdf_viewer.js:8367:41)
    at <anonymous> (./node_modules/pdfjs-dist/web/pdf_viewer.js:8522:24)
    at <anonymous> (./node_modules/pdfjs-dist/web/pdf_viewer.js:8556:2)
    at resolvePromise (./node_modules/zone.js/dist/zone-node.js:1184:35)
    at ZoneAwarePromise (./node_modules/zone.js/dist/zone-node.js:1276:21)
    at Array.Object.defineProperty.value (./node_modules/pdfjs-dist/web/pdf_viewer.js:1386:26)
    at __w_pdfjs_require__ (./node_modules/pdfjs-dist/web/pdf_viewer.js:8367:41)
    at Array.Object.defineProperty.value (./node_modules/pdfjs-dist/web/pdf_viewer.js:384:17)
    at __w_pdfjs_require__ (./node_modules/pdfjs-dist/web/pdf_viewer.js:8367:41)
    at Array.Object.defineProperty.value (./node_modules/pdfjs-dist/web/pdf_viewer.js:51:25)
    at __w_pdfjs_require__ (./node_modules/pdfjs-dist/web/pdf_viewer.js:8367:41)
    at <anonymous> (./node_modules/pdfjs-dist/web/pdf_viewer.js:8522:24)
    at <anonymous> (./node_modules/pdfjs-dist/web/pdf_viewer.js:8556:2)



ERROR Error: Uncaught (in promise): ReferenceError: navigator is not defined
ReferenceError: navigator is not defined
    at Array.Object.defineProperty.value (./node_modules/pdfjs-dist/web/pdf_viewer.js:4466:21)
    at __w_pdfjs_require__ (./node_modules/pdfjs-dist/web/pdf_viewer.js:8367:41)
    at Array.Object.defineProperty.value (./node_modules/pdfjs-dist/web/pdf_viewer.js:3686:20)
    at __w_pdfjs_require__ (./node_modules/pdfjs-dist/web/pdf_viewer.js:8367:41)
    at Array.Object.defineProperty.value (./node_modules/pdfjs-dist/web/pdf_viewer.js:1967:22)
    at __w_pdfjs_require__ (./node_modules/pdfjs-dist/web/pdf_viewer.js:8367:41)
    at Array.Object.defineProperty.value (./node_modules/pdfjs-dist/web/pdf_viewer.js:1922:20)
    at __w_pdfjs_require__ (./node_modules/pdfjs-dist/web/pdf_viewer.js:8367:41)
    at <anonymous> (./node_modules/pdfjs-dist/web/pdf_viewer.js:8528:19)
    at <anonymous> (./node_modules/pdfjs-dist/web/pdf_viewer.js:8556:2)
    at resolvePromise (./node_modules/zone.js/dist/zone-node.js:1184:35)
    at resolvePromise (./node_modules/zone.js/dist/zone-node.js:1138:21)
    at apply (./node_modules/zone.js/dist/zone-node.js:1251:21)
    at invokeTask (./node_modules/zone.js/dist/zone-node.js:437:35)
    at onInvokeTask (./node_modules/@angular/core/fesm2020/core.mjs:25302:28)
    at invokeTask (./node_modules/zone.js/dist/zone-node.js:436:64)
    at onInvokeTask (./node_modules/@angular/core/fesm2020/core.mjs:25607:33)
    at invokeTask (./node_modules/zone.js/dist/zone-node.js:436:64)
    at runTask (./node_modules/zone.js/dist/zone-node.js:205:51)
    at drainMicroTaskQueue (./node_modules/zone.js/dist/zone-node.js:626:39)

When I run my project with angular universal I get the error above.

NOTE: I added the following in the server.ts:

const domino = require('domino');
const fs = require('fs');
const path = require('path');
const template = fs.readFileSync(path.join(__dirname, '.', 'dist', 'remotejobs', 'index.html')).toString();
const win = domino.createWindow(template);
global['window'] = win;
global['document'] = win.document;

Angular : 15.0.4
NodeJs: 18.16.9

Did you find any workaround ?

Have you found the solution