【发布时间】:2020-08-01 23:43:46
【问题描述】:
所以我的应用程序在本地使用 Flask API 由 express 提供服务,因此正在运行
node server.js 和 python runner.py 将启动前端/后端。
但是,当部署到 heroku 时,似乎只有前端可以工作,而没有任何与烧瓶 API 的连接,没有加载后端资源。
这是我的带有两个测功机的 procfile
web: node server.js
server: python runner.py
因此,当我在部署后导航到应用程序时,只有前端内容在工作。
但是,当我在本地计算机上运行 python runner.py 时,Heroku 上的所有后端内容都开始工作。我不太确定它是如何或为什么起作用的,但我希望 Heroku 负责托管 API。
如果有人有任何提示或建议,我会很高兴的。
Runner.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);
Package.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
}
}
编辑:可能已经发现问题 - https://stackoverflow.com/a/54381386/12314065
会试一试并报告
【问题讨论】:
-
听起来您的客户正在与
localhost交谈,这在生产中绝对行不通。给minimal reproducible example。
标签: python express flask heroku procfile