Можно ли добавить сервис перенаправления в режиме разработки в Angular 6 - PullRequest
0 голосов
/ 15 апреля 2020

Я работаю над приложением в Angular 6. Когда приложение развернуто, оно обменивается данными с онлайн-базой данных. Однако когда я работаю над приложением, мне бы хотелось, чтобы оно обменивалось данными с локальной базой данных. У меня есть одна настройка службы для выполнения всей связи, поэтому, когда я работаю над приложением, я могу просто изменить базовый URL, но мне было интересно, есть ли способ, которым я мог бы просто перенаправить эту службу в процессе разработки, а затем это go к базе данных как обычно в производственной среде.

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

Я не опубликовал ни одного примера кода, так как это более общий вопрос относительно методологии в angular по сравнению с конкретной строкой кода c, но я рад опубликовать все, что люди хотел бы увидеть для уточнения.

Ответы [ 2 ]

1 голос
/ 15 апреля 2020

Вы можете сделать одну вещь,

, вы можете настроить свой URL как environment.ts и environment.prod.ts как

environment = {
...
url: 'something.com/api',
...
}

и использовать его как

import { environment } from 'environment/environment';

const url = environment.url;

это даст вам разные URL для обычной сборки (разработка env.) И сборки prod (развертывание env.)

Кроме того, не беспокойтесь об использовании только environmentmet.ts в операторе импорта, как при создании prod build your environment.ts получает контент из environment.prod.ts. поэтому вы будете использовать url из environment.prod.ts

1 голос
/ 15 апреля 2020

В Angular у вас есть доступ к функции isDevMode(), которая определяет, находится ли приложение в данный момент в режиме devmode.

Исходя из этого, вы сможете настроить базовый URL-адрес по мере необходимости.

 import { isDevMode } from '@angular/core';
  private baseUrl: string = '';
    const devUrl: string = '...';
    const prodUrl: string = '...';

    if (isDevMode()) {
          this.baseUrl = devUrl
        }
        else {
          this.baseUrl = prodUrl
          };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...