Это приложение Angular CLI, но оно не очень актуально.
У нас есть довольно типичные переменные окружения, в данном случае под
src/environments/environment.ts
или
src/environments/environment.prod.ts
Я только импортирую свою среду, используя
import { environment } from 'environments/environment'
Но если я запускаю «ng build», он использует «environment.ts», а если я запускаю «ng build --prod», он использует «environment.prod.ts»
Чистая магия.
Обожаю!
Но Firebase Cloud Functions - это фактически отдельный проект с отдельным процессом сборки, поэтому независимо от того, что он просто использует «environment.ts», и поэтому я должен помнить, что вручную нужно переключаться на импорт из «environment.prod.ts» каждый время развертывания на производство?
Мне известно об этом: https://firebase.google.com/docs/functions/config-env, но я не понимаю, как это решает вышеуказанную проблему. Может быть, я что-то упускаю, но мне кажется, что мне все равно придется каждый раз переключать свои переменные, используя даже более громоздкий синтаксис команды терминала (может также просто добавить «.prod» к моему импорту).
Это работоспособно, конечно, но это устраняет безопасность и некоторые удобства конфигурации среды. В конце концов кто-то обязан выполнить производственное развертывание и забыть сделать это переключение ... и в нашем случае даже случайное развертывание для тестирования сервера с производственными переменными будет вредным, поскольку это может испортить нашу поисковую индексацию.
Что мне не хватает? Как я могу автоматизировать переключение?
AskFirebase