ReferenceError: XMLHttpRequest не определен при запуске моего универсального приложения angular 6 - PullRequest
0 голосов
/ 19 октября 2018

Я сделал проект Angular 6 с зависимостью Angularfire2.Я использую Firestore и Firebase для хранения.Я преобразовал свое приложение в angular universal, и когда я запускаю server.js, он говорит прослушивание на localhost:4000, но как только я открываю браузер с localhost:4200, терминал показывает следующую ошибку:

ReferenceError: XMLHttpRequest is not defined

вот фрагмент ошибки

Ответы [ 4 ]

0 голосов
/ 07 марта 2019

Если у кого-то возникнет такая же проблема, я должен был убедиться, что я не импортировал HttpClientModule в свои дочерние модули.Как только он был импортирован в основную AppModule, ошибка исчезла.

Вот ссылка, которая дала мне решение https://www.thecodecampus.de/blog/angular-universal-xmlhttprequest-not-defined-httpclient/

0 голосов
/ 03 декабря 2018

Установите эти зависимости:

npm install --save-dev ws xmlhttprequest

Затем добавьте это в ваш server.ts файл

(global as any).WebSocket = require('ws');
(global as any).XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;

Источники:

0 голосов
/ 25 января 2019

Для дальнейшего использования xmlhttprequest не сработало, поэтому мне пришлось использовать xhr2 примерно так:

  1. npm install ws xhr2 bufferutil utf-8-validate -D
  2. И затем добавить оба ws и xhr2 до server.ts

(global as any).WebSocket = require('ws');
(global as any).XMLHttpRequest = require('xhr2');

0 голосов
/ 19 октября 2018

Вы должны установить @angular/platform-server и импортировать ServerModule.Это обеспечивает серверные реализации DOM, XMLHttpRequest и других низкоуровневых функций, которые не зависят от браузера.

Для получения дополнительной информации см. универсальное руководство

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...