【发布时间】:2017-11-14 14:27:21
【问题描述】:
我很难将 create-react-app 单页应用程序集成到我的烧瓶后端。我希望能够像这样从前端进行 fetch/axios 调用:axios.get('/getResults') 和 fetch('/getResults')。我尝试过但不限于将 Flask 端口指定为 3000,这与 create-react-app 使用的相同。此外,在 create-react-app 的“package.json”文件中使用了代理配置功能,但无济于事。我怀疑我的文件夹结构和 Flask 代码实现可能会导致这种情况。下面是我的文件夹结构和“app.py”代码。我能得到的任何帮助将不胜感激。如有必要,我可以提供更多信息。谢谢
项目
-build(包含静态文件夹,index.html...其他元文件)
-node_modules
-public
-src
app.py
包。 json
requirements.txt
app.py:
from flask import Flask, Response, request, jsonify, make_response, send_from_directory,render_template
app = Flask(__name__, static_path='/build/static/')
app.debug=True
@app.route('/')
def root():
print('Inside root function')
return app.send_static_file('index.html')
@app.route('/getResults', methods=["GET"])
def results():
print('Inside getResults path')
return app.send_static_file('index.html')
@app.route('/postData', methods=["POST"])
def data_results():
print('Inside postData path')
data = request.get_json
return jsonify(data)
@app.route('/<path:path>')
def send_js(path):
print("inside send_js fxn")
return send_from_directory('./build/static',path)
if __name__ == "__main__":
print("inside main host call")
app.run(host='0.0.0.0', port=3000)
我在运行“python app.py”时遇到的错误是:
在终端上:根函数内部
127.0.0.1 - - [12/Jun/2017 09:42:24] “GET / HTTP/1.1”404 -
在浏览器上:未找到 - 在服务器上未找到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试。
【问题讨论】:
-
你是如何使用
npm start运行 create-react-app 的? -
我使用 yarn start 和 yarn build 运行它,这样我就可以将静态文件用于烧瓶后端
-
@dlvr 你看我的回答了吗stackoverflow.com/a/45245402/140837
标签: python reactjs flask create-react-app