在Node.JS应用程序的应用程序配置中找不到URLMap条目

Pas*_*ero 4 google-app-engine node.js app.yaml gcloud

我正在尝试将node.js应用程序部署到appEngine,但他似乎不喜欢我的app.yaml.

D:\projects\Personal\Project>gcloud app deploy
ERROR: (gcloud.app.deploy) An error occurred while parsing file: [D:\projects\Personal\Project\app.yaml]
No URLMap entries found in application configuration
  in "D:\projects\Personal\Project\app.yaml", line 10, column 12
Run Code Online (Sandbox Code Playgroud)

这是app.yaml:

runtime: nodejs
env: standard

skip_files:
 - ^node_modules$

env_variables:
  USER: 'dbUser'
  PASSWORD: 'DBPass'
  DB: 'URI to DB'
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?可能是因为我的文件夹结构?

我有以下结构: - 客户端 - 服务器---- server.js - app.yaml

所以app.yaml不在服务器文件夹中,否则它不包含客户端文件夹...

Mat*_*out 7

既然标准环境支持nodejs8(此时仍处于测试阶段),您必须更新本地gcloud环境才能部署.更新gcloud组件将使此警告消失.

gcloud components update
Run Code Online (Sandbox Code Playgroud)

更新您的app.yaml文件

有关最基本的示例,请参阅Google的github:https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/appengine/building-an-app/build/app.yaml

更新你的package.json

指定适当的兼容节点版本,例如:

  "engines": {
    "node": ">=8.0.0"
  },
Run Code Online (Sandbox Code Playgroud)

完整教程 在App Engine标准环境中构建nodejs8应用程序:https://cloud.google.com/appengine/docs/standard/nodejs/building-app/

标准环境的部署速度明显快于flex环境.