最开始我的项目中的前后端的通信部分都是分散在各个 Vue 文件中,我在查看 xmall-front 前端项目 的源代码时发现了将前后端的通信操作集中到一个文件,以 API 的形式开放给各个 Vue 页面更利于聚合代码,因此在介绍【前后端结合】这一节中采用了这种方式。
总的来说,使用 Flask 构建一个 web 应用并不困难,使用 Flask + Vue 构建一个前后端分离的 web 应用也比较简单,我们可以用 Flask + Vue 构建一个复杂的网站应用,但前后端分离使得开发过程并不会太复杂。另外,我们可以尝试使用 QWebEngineView 构建一个基于 HTML5 的桌面应用,既能够用浏览器访问,也可以打包成一个 .exe 可执行文件。总之,使用 HTML5 开发可以给我们带来很多便利。
所有相关的代码存放在 github 上。
参考developing-a-single-page-app-with-flask-and-vuejs
使用 Vue.js 和 Flask 来构建一个单页的App
specify delimiters for a vuejs component
xmall-front 前端项目
https://stackoverflow.com/questions/43838135/vue-app-doesnt-load-when-served-through-python-flask-server
https://forum.vuejs.org/t/routes-not-working-after-npm-build/34261
https://router.vuejs.org/guide/essentials/history-mode.html
https://codeburst.io/full-stack-single-page-application-with-vue-js-and-flask-b1e036315532
https://blog.csdn.net/MRblackLu/article/details/71263276
https://github.com/vuejs-templates/webpack/issues/450
https://stackoverflow.com/questions/31945763/how-to-tell-webpack-dev-server-to-serve-index-html-for-any-route