【发布时间】:2019-10-08 10:29:30
【问题描述】:
总的来说,我对 Vue 和现代 Web 开发还很陌生,所以我提前道歉。这是情况。
我正在尝试制作一个在前端使用 Vue 和 Vuetify 的简单 Flask 应用程序。当我查找如何将 Flask 与 Vue 结合的教程时(例如 one),它依赖于 webpack,我可以让它正常工作。当我尝试根据 Quick start guide 的说明将 Vuetify 添加到项目中时,我发现它要求您必须遵循 Existing Applications 指南,因为该项目未使用 vue-cli3 初始化(请参阅错误报告 here) .我尝试按照这些说明进行操作,但在几个令人困惑的小时后没有结果就放弃了。
在阅读了 webpack 之后,我决定对于我的特定应用程序,我可以不使用它。所以我回到了 Vuetify 快速入门指南并按照New Applications 的说明,启动了 Flask,这就是我得到的:
127.0.0.1 - - [21/May/2019 18:31:20] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [21/May/2019 18:31:20] "GET /js/app.c12f4ec0.js HTTP/1.1" 404 -
127.0.0.1 - - [21/May/2019 18:31:20] "GET /css/chunk-vendors.b7bc2226.css HTTP/1.1" 404 -
127.0.0.1 - - [21/May/2019 18:31:20] "GET /js/chunk-vendors.2eb58769.js HTTP/1.1" 404 -
127.0.0.1 - - [21/May/2019 18:31:21] "GET /js/app.c12f4ec0.js HTTP/1.1" 404 -
127.0.0.1 - - [21/May/2019 18:38:22] "GET /index.html HTTP/1.1" 404 -
有问题的代码:
from flask import Flask, render_template
app = Flask(__name__,
static_folder="./test/dist",
template_folder="./test/dist")
@app.route('/')
def index():
return render_template("index.html")
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000, debug=True)
在大多数情况下,Vue 代码只是一个安装了 Vuetify 的新项目。我所做的唯一更改是在 main.js 中更改了分隔符,以便它们不会与 Jinja2 冲突。
import Vue from 'vue'
import './plugins/vuetify'
import App from './App.vue'
Vue.config.productionTip = false
new Vue({
render: h => h(App),
delimiters: ["[[", "]]"],
}).$mount('#app')
我的三个主要问题是:
- Flask 用于查找静态和模板文件的路径有什么问题?
- 是否可以在没有 webpack 的情况下将 Vue 与 Flask 一起使用?
- 如果不可能,有人会做一个关于如何将 Vuetify 集成到基于 webpack 的 Vue 项目中的 eli5 吗?
提前致谢!
【问题讨论】:
标签: vue.js flask webpack vuetify.js