【发布时间】:2019-08-25 13:00:53
【问题描述】:
我正在尝试使用 Flask 蓝图来提供多页 web 应用程序。 Webapp 结构:
登陆页面 html->登录->Vuejs SPA
烧瓶结构:
app/
client/
dist/
static/
js/
css/
vue_index.html
client.py
main/
main.py
static/
index.html
__init__.py
__init_.py
app.register_blueprint(main_bp)
app.register_blueprint(client_bp)
client.py
client_bp = Blueprint('client', __name__,
url_prefix='/client',
static_url_path='/client/static',
static_folder='dist/static',
template_folder='dist',
)
@client_bp.route('/')
def client():
dist_dir = current_app.config['DIST_DIR'] #full path to dist folder
entry = os.path.join(dist_dir, 'vue_index.html')
return send_file(entry)
vue_index.html
<!DOCTYPE html><html>...<script src=/static/js/index.js></script></body></html>
然后我运行应用程序并重定向到 host:port/client 找到 vue_index.html 但找不到文件中引用的 .js 文件。
但是,当我将 js/ 文件夹从 app/client/dist/static 移动到 app/static 时,vue_index.html 文件可以找到 js 代码。
所以很明显,蓝图并没有覆盖烧瓶应用程序的静态路径。关于如何调试静态路径/修复此问题的任何想法?
【问题讨论】: