Использование msal в Angular с рендерингом на стороне сервера - PullRequest
0 голосов
/ 01 ноября 2019

Я использую 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, но при попытке запустить версию на стороне сервера в браузере у меня возникают ошибки внедрения.

Я надеюсь, что кто-то может объяснить мне, как я могу сделатьработающая на стороне сервера сборка этого проекта при использовании сторонней библиотеки.

...