python - 在 Google App Engine 上连接 python 后端和 vue.js 前端

标签 python google-app-engine vue.js google-cloud-platform yaml

我有一个任务,在 google app engine 上用 python 后端(不是 flask)和 Vue.js 前端构建一个系统。 系统需要在谷歌应用引擎(谷歌云 SDK)上加载 vue.js 应用(一些基本的 hello world 应用)。

我已经构建了 python 和 yaml 端并将其加载到 GAE,还构建了 vue.js 端.. 但我在如何连接部件上停留了很长时间,以便 python/yaml 将在加载 url 时加载我的应用程序..

请帮助, 无论如何都要感谢! :)

最佳答案

严格来说,您的 Python 不会直接“加载您的应用”。

首先,冒着不必要解释的风险,这里有一个重要的概念,即代码驻留位置与代码执行位置。您的 VueJS 代码以静态文件的形式驻留在服务器上,但在客户端/浏览器中执行。

:它是如何从服务器传到浏览器去执行的?
A:客户端必须向服务器发送请求才能提供。

:什么会导致浏览器发送这个请求?
A:发送给它的其他代码中的指令,很可能是 <script> HTML 中的标记。

因此,流程是这样的(根据未提供的详细信息,您可能会有所不同):

  • 浏览器向服务器 (GAE) 发送 HTML 请求,例如主页
  • 服务器(GAE)以 HTML 响应
    • 此 HTML 可以由 Python 动态创建,也可以是静态文件。
    • 此 HTML 包含指示浏览器请求更多文件的标记:图像、CSS、JS。
    • 此 HTML 应包含 <script>标记以请求您的 VueJS 代码。
  • 浏览器接收 HTML 并处理它,包括 <script>标记您的 VueJS 代码。
  • 浏览器向服务器发送 VueJS 代码请求。
  • 服务器 (GAE) 使用包含 VueJS 代码的静态文件进行响应。
  • 浏览器接收包含 VueJS 代码的文件,运行它,您的 VueJS 现在已加载并运行!
  • 当您的 VueJS 运行时,它可能会向服务器 (GAE) 发送 AJAX 请求以获取数据和/或更多代码。

您的 VueJS 代码必须驻留在服务器上的静态文件中。对于服务器(Python)来说,这个静态文件只是一个无意义的字节包(如果代码中存在语法错误,直到它在客户端执行时才会被发现)。

如何将这些静态文件放入 GAE 中,以便在浏览器请求时可以使用它们?您可能已经有了这个(对于 CSS、图像),但以防万一您还没有,请查看此链接:Server Static Files有关设置的详细信息。

关于python - 在 Google App Engine 上连接 python 后端和 vue.js 前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49843822/

相关文章:

python - 检查在 Celery 中完成的多个任务的最佳方法?

python - 索引是否使 Pandas 数据帧切片更快?

python - 如何从python列表的每个元素中删除前缀?

python - AppEngine bulkloader、高复制存储和 python27 运行时

javascript - 如何向子组件传递数据?

python - Pandas 错误 : __setitem__() doesnt recognize dictionary values as a list of column names

java - 在 Google App Engine 中运行 Google Cloud Dataflow 管道时为 "ClassNotFoundException: sun.security.provider.Sun"

java - 计算Google App Engine/Java中的时差

java - 如何在具有 Spring Boot 后端的 Vue.js 应用程序中包含 CSRF token ?

javascript - vuejs slick 不适用于 v-for