Как запустить универсальное приложение Angular и приложение с отдельным узлом для backend api в Google App Engine? - PullRequest
0 голосов
/ 07 мая 2020

Надеюсь, кто-то там может мне помочь!

У меня есть Angular Универсальное приложение, которое я развернул в Google App Engine.

У меня есть приложение, работающее на экземпляр GAE по умолчанию, и у него есть собственный настраиваемый домен, который я настроил. / api / sendmail) для отправки писем.

Эта конечная точка будет работать на http://localhost: 3000 / api / sendmail. Ниже приведены все мои файлы.

Когда я попадаю в конечную точку /api/sendmail и проверяю журналы с помощью gcloud app logs tail -s servicename, он выходит из системы app.listen(3000, () => { console.log("The server started on port 3000");});.

Но это похоже, не работает следующее. Он не запускает журнал консоли?

app.post("/api/sendmail", (req, res) => {
    console.log("Got Request");
}

Мой пакет. json содержит эти сценарии

"start": "node dist/server",
"deploy": "ng build --prod && npm run build:ssr && gcloud app deploy --quiet && gcloud app deploy dispatch.yaml --quiet",

Proxy.conf. json файл имеет это

{
    "/api": {
        "target": "http://localhost:3000",
        "secure": false,
        "logLevel": "debug",
        "pathRewrite": {
            "^/api": ""
        }
    }
}

App.yaml

runtime: nodejs10

handlers:
    - url: /.*
      secure: always
      redirect_http_response_code: 301
      script: auto

dispatch.yaml

dispatch:
    - url: "*/api/*"
      service: lunr-app-backend

Это мой app.yaml, который запускает приложение узла в своей собственной службе

runtime: nodejs10
service: servicename

handlers:
  - url: /api/.*
    secure: always
    redirect_http_response_code: 301
    script: auto

В моем приложении узла один файл: nodemailer. js

app.listen(3000, () => {
    console.log("The server started on port 3000");
});

app.post("/api/sendmail", (req, res) => {
    console.log("Got Request");
}

Пожалуйста, дайте мне знать, если кому-то понадобится дополнительная информация. Пожалуйста, проверьте, не видите ли вы что-то не так.

1 Ответ

0 голосов
/ 19 августа 2020

Я вижу, что вы используете SSR в своем приложении Angular. Я думаю, вам нужно изменить файл server.ts. Пожалуйста, проверьте код ниже для примера:

https://github.com/Angular-RU/angular-universal-starter/blob/d0b4b2a05a9d32c52562cf364261669bffde873c/server.ts#L113

...