как развернуть сервер nodejs (который отправляет электронную почту) и приложение vuejs на одном сервере на хостинге Firebase - PullRequest
0 голосов
/ 15 апреля 2020

Это может звучать странно, я знаю ... люди подумают, что я должен был использовать облачную функцию firebase для отправки почты. Да, неожиданно, она просто остановила доставку, и я не смог найти решение.

Я создал сервер в Nodejs и подключил свой интерфейс для отправки запроса POST на сервер. Теперь я хочу развернуть этот сервер на хостинге firebase, чтобы сервер размещался рядом с приложением.

sendMessage() {
      if (this.$refs.formEmail.validate()) {
        this.loading = true;
        this.disabled = true;
        const data = {
          name: this.formData.name,
          email: this.formData.email,
          message: this.formData.message
        };
        axios
          .post("http://localhost:4000/sendEmail", data)
          // eslint-disable-next-line no-unused-vars
          .then(res => {
            this.disabled = false;
            this.loading = false;
            this.snackbar = true;
            this.successMessage = "Mail sent! We'll respond ASAP.";
            this.$refs.formEmail.reset();
          })
          .catch(err => {
            this.disabled = false;
            this.loading = false;
            this.snackbarError = true;
            this.errorMessage = err.message;
          });
      }
    }

Итак, есть ли способ, которым я мог бы развернуть этот локальный хост на firebase, чтобы запрос post мог получить отправлено без включения сервера на узел

1 Ответ

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

Вы не можете запустить обычный Node.js скрипт на хостинге Firebase. Самое близкое, что вы можете получить, - это преобразовать этот скрипт в облачные функции.

Многие Node.js приложения могут быть конвертированы, но открытие локального поста (как вам кажется) не является хорошим вариантом в облачных функциях. Я бы обычно конвертировал вашу sendEmail конечную точку в вызываемую или HTTPS, запускаемую облачную функцию.

...