Angular / Node Express + Flask API + Heroku, не уверен насчет Procfile - PullRequest
0 голосов
/ 19 апреля 2020

поэтому мое приложение обслуживается express локально с помощью flask API, поэтому при выполнении

node server.js и python runner.py будет запускаться внешний интерфейс / бэкэнд. при развертывании на heroku, кажется, что только внешний интерфейс работает без какого-либо подключения к flask API, никакие внутренние ресурсы не загружаются.

Это мой procfile с двумя dynos

web: node server.js
server: python runner.py

Я перехожу к приложению после того, как оно было развернуто, только внешний интерфейс работает.

Однако, когда я запускаю python runner.py на своем локальном компьютере, весь контент бэкэнда в Heroku начинает работать. Я не совсем уверен, как или почему это работает, но я хочу, чтобы Heroku занялся хостингом API.

Если у кого-нибудь есть какие-либо советы или рекомендации, я бы их оценил.

Бегун. py

import os
from flask import Flask, request, jsonify, json, render_template
from flask_cors import CORS

app = Flask(__name__)

CORS(app)

# Runs the application
if __name__ == "__main__":
    app.run(debug=True) 

Сервер. js

const express = require('express');
const path = require('path');

const app = express();

app.use(express.static(__dirname + '/dist/client'));

app.get('/*', function(req,res) {

res.sendFile(path.join(__dirname+'/dist/client/index.html'));
});

app.listen(process.env.PORT || 8080);

Пакет. json сценарии

  "scripts": {
    "ng": "ng",
    "start": "ng serve --proxy-config proxy.conf.json",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "heroku-postbuild": "ng build --prod"
  }

Proxy.conf. json

{
    "/api": {
        "target": "http://localhost:5000",
        "secure": false
    }
}

Редактировать: возможно, обнаружена проблема - { ссылка }

Попробую и сообщу

...