如何定义GAE的envs ?



我创建的web应用程序由两个独立的部分组成:服务器和客户端。我想把它部署到谷歌云应用引擎。

我已经这样做了,但是主要的问题是我需要在.yaml文件中定义的应用程序的正确工作的env_variables失效。

我不明白为什么环境变量不工作,如果我按照docs.

我写了.yaml文件到每个部分。这里的文件结构:
/
——客户机/
source_files…
——client.yaml
——服务器/
source_files…
——api.yaml
——dispatch.yaml

这里是每个文件的内容。

client.yaml:

runtime: nodejs16
service: default
handlers:
- url: /(.*..+)$
static_files: build/1
upload: build/(.*..+)$
- url: /.*
static_files: build/index.html
upload: build/index.html
env_variables:
API_LINK: "https://gcloudezample-11111.lm.r.appsport.com"

api.yaml:

runtime: nodejs16
service: api
env: standard
env_variables:
MONGO_DB_PWD: "db_password"

dispatch.yaml:

dispatch:
- url: '*/api'
service: api

然后我按照上面的顺序将这些部分部署到.yaml文件中。

结果是前端工作,但失败的api请求,因为错误的请求URL:http://localhost:3001/v1/my-route

截图

这是一个关于网站如何运作的常见误解。花2秒钟思考一下:你的前端部分在做什么?

让我来帮你

handlers:
- url: /(.*..+)$
static_files: build/1
upload: build/(.*..+)$
- url: /.*
static_files: build/index.html
upload: build/index.html

它只提供静态文件。因此,只有静态文件意味着在运行时上下文中没有处理、没有实例、没有变量定义,因为只有静态文件被服务。

运行时在运行JS代码的客户端浏览器上。

注意:对等的巨大优势是,静态页面服务是免费的(就资源使用而言,因为没有实例启动和运行来为您的文件提供服务;


现在,如何解决这个问题呢?

只需在静态代码中使用API_LINK值构建静态文件。

相关内容

  • 没有找到相关文章

最新更新