Как ng build angular с json, чтобы после ng build значения json можно было заменить вручную, чтобы показать разные результаты? - PullRequest
0 голосов
/ 03 февраля 2020

Если не возможно, какой-либо альтернативы ng build? Проблема в сборке json значения встраиваются в main. js, что делает невозможным изменение json значений позже. Я хочу создать отчет в формате HTML с форматом файла json, используя angular, который можно просматривать в автономном режиме. Поэтому позже, когда я sh смогу изменить значение, мне нужно всего лишь изменить значение в файле json.

Ответы [ 3 ]

0 голосов
/ 03 февраля 2020

можно добавить свои json активы в ваш angular - json файл

"apps": [
{
  "root": "src",
  "outDir": "dist",
  "assets": [
    "assets",
    "favicon.ico",
    "myJson.json",
    "web.config"
  ],

, здесь предполагается, что файл находится в той же папке, что и основной. Если вы поместите его в папку активов, вы можете попробовать пользовательский путь "./assets/myJson.json", таким образом, после сборки файл останется и вы сможете его редактировать.

0 голосов
/ 03 февраля 2020

Вы хотите создать файл конфигурации, добавьте файл в angular. json, чтобы он был включен в папку dist при сборке приложения, а затем добавьте несколько свойств в файл tsconfig, чтобы ваш машинописный текст знает, как импортировать файл json и обрабатывать его как модуль.

Я написал подробный пост в блоге, рассказывающий, как сделать это шаг за шагом и как это работает. Вы можете найти это здесь => https://dev.to/kylerjohnson26/build-your-angular-app-once-deploy-anywhere-5ggk

Это позволит вам легко взаимодействовать с вашими значениями конфигурации json из вашего кода, просто импортируя его туда, где вы хотите его использовать. Более того, большинство инструментов развертывания (например, Octopus) имеют встроенную поддержку json конфигурационных файлов, поэтому вы можете легко заменить значения в зависимости от среды, в которой вы развертываете. Это самый простой способ настроить конфигурацию так, чтобы вы могли «собрать один раз и развернуть где угодно».

0 голосов
/ 03 февраля 2020

Один из подходов - сохранить ваш JSON в папке assets и затем извлечь его с помощью HTTP GET. Затем, когда ваше приложение будет развернуто, вы можете просто поменять файл JSON на другой.

Сохранить json - assets/test.json:

{
  "message": "hello"
}

Получить JSON с HttpClient:

@Component({
  selector: 'my-app',
  templateUrl: './my-app.component.html'
})
export class MyAppComponent implements OnInit {

  constructor(private http: HttpClient) {
  }

  ngOnInit() {
    this.http.get('/assets/test.json').subscribe(resp => {
        alert(resp['message']);
    });
  }
}

Вот блик стека, демонстрирующий это.

...