gpt4 book ai didi

python - 从 Flask 运行 NPM 构建

转载 作者:行者123 更新时间:2023-11-30 22:33:08 40 4
gpt4 key购买 nike

我有一个 React 前端,我希望它与我的 python 后端 API 具有相同的起源。我正在尝试使用 Flask 来实现此目的,但遇到了 Flask 找不到我的静态文件的问题。

我的前端构建是通过 saas_frontend 中的 npm run build 生成的

这是我的文件结构:

    ├── main.py
├── requirements.txt
├── run.sh
├── saas_backend
├── saas_frontend

Flask 从 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')

但是 Flask 仍然无法提供我的静态文件,我将其作为输出......

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 -

有什么我应该做的不同的事情吗? Flask 如何解析错误消息中路径的正确文件,但完全无法将其提供给浏览器?

谢谢!!

最佳答案

我通过使用相应文件和目录的符号链接(symbolic link)解决了我的问题。

在我的构建脚本中,我将包括:

ln -s saas_frontend/build/static static
ln -s saas_frontend/build templates

现在一切都按预期进行!

关于python - 从 Flask 运行 NPM 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45242537/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com