Извлечение файла из ресурсов, не работающих с рендерингом Angular на стороне сервера - PullRequest
0 голосов
/ 15 октября 2019

Я загружаю файл json из папки активов во время выполнения со следующим кодом:

initializeApp = () =>
  new Promise(async resolve => {
    this.settings await this.http.get(`/assets/file.json`).toPromise();
    resolve();
  });

Этот код прекрасно работает при компиляции углового приложения с ng serve. Однако я также хочу поддержать рендеринг на стороне сервера . При создании сервера с npm run build:ssr и последующем запуске с npm run serve:ssr на сервере узла я получаю следующую ошибку:

ERROR { Error: Uncaught (in promise): Error
    at resolvePromise (/project/services/frontend/dist/server.js:1003:31)
    at /project/services/frontend/dist/server.js:913:17
    at rejected (/project/services/frontend/dist/server/main.js:136313:93)
    at ZoneDelegate.invoke (/project/services/frontend/dist/server.js:542:26)
    at Object.onInvoke (/project/services/frontend/dist/server/main.js:118689:33)
    at ZoneDelegate.invoke (/project/services/frontend/dist/server.js:541:52)
    at Zone.run (/project/services/frontend/dist/server.js:301:43)
    at /project/services/frontend/dist/server.js:1061:34
    at ZoneDelegate.invokeTask (/project/services/frontend/dist/server.js:574:31)
    at Object.onInvokeTask (/project/services/frontend/dist/server/main.js:118670:33)

Ответы [ 2 ]

1 голос
/ 15 октября 2019

При использовании углового универсального URL должен быть абсолютным. Так что либо укажите базовый URL-адрес в вашей конфигурации, либо извлеките его из базового веб-сервера, как показано в документации

0 голосов
/ 15 октября 2019

На стороне сервера добавьте разрешение или отклоните, потому что ваше обещание не обрабатывается никаким решателем или отклоняет.

...