Ошибка File Not Found при попытке получить доступ к файлу с помощью Http get Angular

#angular

#angular

Вопрос:

Я новичок в angular и пытаюсь прочитать некоторые данные конфигурации из файла Env. Но он всегда говорит, что файл не найден.

Вот мой фрагмент кода, который я пытаюсь

 this.http.get('src/assets/env/env.json').pipe(map( res => res.json())).pipe(catchError((error: any): any => {
    console.log('Configuration file "env.json" could not be read');
    resolve(true);
    return Observable.throw(error.json().error || 'Server error');
})
  

И в моем файле Angular.json я указал это в разделе активы

Для сборки

 "assets": [
    "src/favicon.ico",
    "src/assets",
    "src/assets/env/env.json",
    "src/web.config"
],
  

Тестируется

 "assets": [
    "src/favicon.ico",
    "src/assets",
    "src/assets/env"
],
  

Но при запуске приложения я получаю эту ошибку

http://localhost:4200/src/assets/env/env.json 404 (не найдено)

Не удалось прочитать файл конфигурации «env.json»

Вот как выглядит структура папок моего приложения

введите описание изображения здесь

Приведенный выше код для чтения файла JSON находится в app.config.ts

Я действительно верю, что это что-то с относительным путем. Но, честно говоря, я не понял, как это сделать правильно. Пожалуйста, помогите

Комментарии:

1. вы пробовали this.http.get('assets/env/env.json') ? Кроме того, вы можете просто использовать import('assets/env/env.json') и импортировать его во время сборки. Также вы, похоже, либо используете очень старую версию angular, либо следуете очень старому руководству res.json() , которое было удалено давным-давно

2. Спасибо, друг.. Я использовал некоторый код, который скопировал из руководства. Если вы не возражаете, было бы здорово, если бы вы могли опубликовать, как это использовать, в качестве ответа

3. @PoulKruijt Он работает нормально, когда я использую путь, указанный вами. Большое спасибо. Но не могли бы вы, пожалуйста, поделиться правильным способом, чем я пытаюсь.. Я имею в виду новый способ…