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

Dan*_* Sh 4 python google-app-engine yaml google-cloud-platform vue.js

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

我已经构建了 python 和 yaml 端并将其加载到 GAE 并构建了 vue.js 端。网址..

请帮助,无论哪种方式先谢谢!:)

Bar*_*der 7

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

首先,冒着不必要解释的风险,代码所在位置与代码执行位置之间存在重要的概念。您的 VueJS 代码以静态文件形式驻留在服务器上,但在客户端/浏览器中执行。Q:如何从服务器到浏览器执行?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、图像),但以防万一,请参阅此链接:服务器静态文件,了解有关设置的详细信息。