我有一个React前端,我想在与python后端API相同的来源上服务。我正在尝试使用烧瓶来处理这个问题,但是我遇到了一个问题,就是没有找到我的静态文件。
我的前端构建是用npm run build在saas_frontend中生成的。
以下是我的文件结构:
├── main.py
├── requirements.txt
├── run.sh
├── saas_backend
├── saas_frontend烧瓶正在从main.py上运行,并在saas_frontend/build中为我的前端服务
├── asset-manifest.json
├── favicon.ico
├── index.html
├── manifest.json
├── service-worker.js
└── static
├── css
│ ├── main.096c9e23.css
│ └── main.096c9e23.css.map
├── js
│ ├── main.8949f17a.js
│ └── main.8949f17a.js.map
└── media
├── delta.56f5d855.csv
└── logo.e233ff84.png我在main.py中声明了新的模板路径和静态路径如下:
import os
from flask import Flask, render_template
template_dir = os.path.abspath('saas_frontend/build/')
static_dir = os.path.abspath('saas_frontend/build/static')
app = Flask(__name__, static_path=static_dir, template_folder=template_dir)
@app.route('/')
def index():
print template_dir
print static_dir
return render_template('index.html')但是烧瓶仍然不能提供我的静态文件,我得到了这个输出.
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/css/main.096c9e23.css HTTP/1.1" 404 -
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/js/main.8949f17a.js HTTP/1.1" 404 -
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/css/main.096c9e23.css HTTP/1.1" 404 -
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/js/main.8949f17a.js HTTP/1.1" 404 -我有什么不应该做的吗?如何使用错误消息中的路径解析正确的文件,但却完全无法将其提供给浏览器?
谢谢!!
发布于 2017-07-21 18:11:52
我通过使用指向适当文件和目录的符号链接来解决我的问题。
在我的构建脚本中,我将包括:
ln -s saas_frontend/build/static static
ln -s saas_frontend/build templates一切都如期而至!
https://stackoverflow.com/questions/45242537
复制相似问题