Рекомендации по указанию ключа карты Google в приложениях angular2 + - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть приложение angular2 и я интегрировал карту Google с помощью модуля ng2-map .

Сначала я попытался указать ключ карты Google в соответствующем модуле в разделе @NgModule, как показано ниже:

Ng2MapModule.forRoot({
      apiUrl: 'https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=drawing,visualization,places&key=GOOGLE_MAP_KEY',
    })

Но в файле модуля также нет способа доступа к средепеременные, и даже если он включен, появляется консольная ошибка, как, Google не определяется.Затем я включил cdn карты Google в сам файл index.html.

В настоящее время я включил URL карты Google в сам файл index.html вместе с ключом карты Google.Но проблема в том, что ключи различны в разных средах, таких как разработка, тестирование, производство и т. Д.

  <script src="https://maps.googleapis.com/maps/api/js?v=3.33&libraries=drawing,visualization,places&key=GOOGLE_MAP_KEY"></script>

Поскольку переменные среды не определены в index.html, я должен вручную позаботиться об этихключи google map при сборке (ng build) проекта.

Можно ли как-нибудь указать в командах build переменную окружения, которая должна принимать соответствующий ключ google map, или есть лучший способ для этого??

Спасибо

1 Ответ

0 голосов
/ 18 февраля 2019

Откройте файл angular.json.

Следуйте по пути:

$.projects.[project name].architect.build.configurations

Вы найдете объекты типа

        "local": {
          "fileReplacements": [{
            "replace": "src/environments/environment.ts",
            "with": "src/environments/environment.local.ts"
          }]
        },

Просто создайте новую среду с помощьюкопирование этого формата.Затем вы можете указать конкретный env-файл и указать в этом аргументы сборки.

Теперь вы можете запустить команду с помощью

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