http получить из ресурсов не работает в опубликованном приложении Angular 9 - PullRequest
0 голосов
/ 28 мая 2020

Я работал с Angular +9, и у меня проблема при чтении файла json из папки ресурсов.

Я использую модуль http, и вызов работает нормально, когда приложение запускается локально , но когда я запускаю ng-build и публикую sh приложение на сервере, вызов файла json не работает, что указывает на следующее сообщение:

ERROR Ответ об ошибке HTTP для assets / resources / fakeData. json: 0 Неизвестная ошибка

Мой код:

call http request to json file

Что может быть проблема? Почему я не могу напрямую получить доступ к папке с ресурсами?

Ответы [ 2 ]

0 голосов
/ 29 мая 2020

Я не знаю, какой веб-сервер вы используете, но похоже, что ваш веб-сервер не поддерживает хостинг JSON файлов.

0 голосов
/ 28 мая 2020

Ваша проблема в том, что вы пытаетесь получить доступ к файловой системе с помощью HttpClient. Вы не можете этого сделать. Вы, конечно, можете создать конечную точку API, которая возвращает ваш файл json, но вы не можете получить к нему прямой доступ с помощью модуля HttpClient.

Вот что я бы сделал вместо этого:

import * as myJson from '<path to fakeData.json>';
...
getData(): any {
   return myJson;
}

Если вы просто пытаетесь возиться с модулем HttpClient и вам нужно немного json для игры, используйте JSON заполнитель API:

this.http.get('https://jsonplaceholder.typicode.com/todos/1');

Согласно приведенному ниже вопросу SOF, похоже, вы можете разместить свои локальные json файлы вместе с angular dev-сервером, если хотите:

Загрузить json из локального файла с помощью http.get () в angular 2

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