Я использую msal.js для аутентификации в моем приложении Angular. Это нормально работает для сборок, использующих ng serve
. К сожалению, эта библиотека выдает ошибку при попытке запустить сборку сервера с использованием узла. Эта сборка генерируется с использованием npm run build:prod
и обслуживается с использованием npm run server
. После попытки обслужить это с помощью узла возникает следующая ошибка:
/Users/mikey/Documents/projectname-angular8/dist/server.js:170525
class WindowWrapper extends Window {
^
ReferenceError: Window is not defined
at Module.<anonymous> (/Users/mikey/Documents/projectname-angular8/dist/server.js:170525:29)
at __webpack_require__ (/Users/mikey/Documents/projectname-angular8/dist/server.js:21:30)
at Object.@azure/msal-angular/dist/msal.module (/Users/mikey/Documents/projectname-angular8/dist/server.js:148059:18)
at __webpack_require__ (/Users/mikey/Documents/projectname-angular8/dist/server.js:141641:30)
at Object../src/app/app.server.module.ngfactory.js (/Users/mikey/Documents/projectname-angular8/dist/server.js:142963:13)
at __webpack_require__ (/Users/mikey/Documents/projectname-angular8/dist/server.js:141641:30)
at Object../src/main.server.ts (/Users/mikey/Documents/projectname-angular8/dist/server.js:147883:37)
at __webpack_require__ (/Users/mikey/Documents/projectname-angular8/dist/server.js:141641:30)
at Object.0 (/Users/mikey/Documents/projectname-angular8/dist/server.js:147904:18)
at __webpack_require__ (/Users/mikey/Documents/projectname-angular8/dist/server.js:141641:30)
Я могу понять, почему происходит ошибка, но так как требуется сторонняя библиотека, я не могу удалить этот пакет из проектавсе вместе. Я пытался загрузить только эту часть кода в app.browser.module.ts
, но при попытке запустить версию на стороне сервера в браузере у меня возникают ошибки внедрения.
Я надеюсь, что кто-то может объяснить мне, как я могу сделатьработающая на стороне сервера сборка этого проекта при использовании сторонней библиотеки.