Я знаю, что этот вопрос задавался много раз, и я прочитал все ответы, но все еще не имею работающего решения.
Используя AWS Cloud9 IDE, я пытаюсь запустить свои функции firebase и хостинг локально с firebase serve --host $IP --port $PORT
, как описано здесь .
Это дает мне:
✔ functions: Using node@8 from host.
✔ functions: Emulator started at http://127.0.0.1:8081
i functions: Watching "/home/ec2-user/environment/functions" for Cloud Functions...
i hosting: Serving hosting files from: build
✔ hosting: Local server: http://127.0.0.1:8080
⚠ functions: Your GOOGLE_APPLICATION_CREDENTIALS environment variable points to XXXXX-d5435114eb69.json. Non-emulated services will access production using these credentials. Be careful!
✔ functions[log]: http function initialized (http://127.0.0.1:8081/XXXXX/us-central1/log).
Хост-сервер отлично работает на порте 8080, а облачная функция log
инициализирована на http://127.0.0.1:8081/XXXXX/us-central1/log
.Но при выполнении:
const log = firebase.functions().httpsCallable('log');
log("Hello World");
с локального размещенного сайта пытается вызвать развернутую облачную функцию и выдает ошибку CORS:
Доступ к выборке в 'https://us -central1-XXXXX.cloudfunctions.net / log 'from origin' https://XXXXX.vfs.cloud9.us -west-2.amazonaws.com 'заблокирован политикой CORS
Я использую автоконфигурацию firebase для загрузки SDK.
Возможно ли запускать хостинг и функции локально для разработки на Cloud9?