我目前具有这样的文件夹结构:
/
--client
----dist
------index.html
------index.js
--server
----server.py
index.js
中的dist/
用于React应用程序。我的server.py
看起来像这样:
import os
from flask import Flask, send_from_directory
app = Flask(__name__)
@app.route('/')
def hello_world():
return send_from_directory('../client/dist/', 'index.html')
if __name__ == "__main__":
app.run()
不幸的是,这没有用,我得到了Failed to load resource
。我在SO以及其他方面查看了几篇文章。它们中的大多数都很老(也许已经过时),并且它们通常具有不同的文件夹结构,其中index.html
文件是从static
内的server/
文件夹提供的,或者类似的文件。
我真的只是想做我想像的一项简单的任务:当访问localhost:5000
时,Flask服务../client/dist/index.html
,然后React接手并做事。
如果有人能为我提供实现目标的最小/清洁方式,我将不胜感激。
答案 0 :(得分:0)
原来,我有点不对。我以为问题不是转发,但经过更多搜索后,我发现了另一个与我的非常相似的StackOverflow问题:
Serving static html file from another directory from flask restful endpoint
从那里和其他地方收集一些答案,我有一个最小的可行解决方案:
from flask import Flask, send_from_directory
app = Flask(__name__, static_folder='../client/dist')
@app.route('/')
def hello_world():
return send_from_directory(app.static_folder, 'index.html')
if __name__ == "__main__":
app.run()
现在访问localhost:5000
时,我会收到index.html
的内容。