Google App Engine Node.js 应用程序 - “解析 app.yaml 时出错:未知 url 处理程序类型”
Posted
技术标签:
【中文标题】Google App Engine Node.js 应用程序 - “解析 app.yaml 时出错:未知 url 处理程序类型”【英文标题】:Google App Engine Node.js App - “Error parsing app.yaml: Unknown url handler type” 【发布时间】:2016-04-04 13:50:48 【问题描述】:我最近在 Google App Engine 中设置了一个 Node.js 应用程序,它运行良好。我尝试添加处理程序,以便所有对网站的请求都可以重定向到 https URL。以下是我的app.yaml
文件
# [START runtime]
runtime: nodejs
vm: true
# [END runtime]
# Temporary setting to keep gcloud from uploading node_modules
skip_files:
- ^node_modules$
# [START handlers]
handlers:
- url: /.*
secure: always
# [END handlers]
当我尝试运行上传脚本 gcloud preview app deploy app.yaml
时,它会抛出以下异常:
ERROR: (gcloud.preview.app.deploy) An error occurred while parsing file: [/Users/rakesharidasan/BackwaterBreaks-UI-Release/app.yaml]
Unknown url handler type in line 14, column 17 (end of # [END handlers]).
我可以在 *** 中看到类似的问题,但其中许多都与缩进或空白问题有关。我相信我的 app.yaml 有正确的缩进,我通过一些在线解析器检查了它,例如 - http://codebeautify.org/yaml-validator
如果我从 yaml 中删除处理程序部分,上传脚本仍将运行。
你知道这里出了什么问题吗?
【问题讨论】:
【参考方案1】:处理程序部分还必须指定处理程序类型,在这种情况下是脚本或应用程序的主入口点
例子:
- url: /.*
script: app.js
secure: always
【讨论】:
完美!!!这解决了这个问题。如果应用引擎上传脚本能提供更好的错误信息,那应该会很好。非常感谢您的帮助@jeffrey-godwyll Node 10 的注意事项(现在是默认设置):您说“自动”,而不是提供 JS 源代码。否则 gcloud 会说:“INVALID_ARGUMENT:处理程序 '/.*' 的脚本字段必须为运行时 nodejs10 设置为 'auto'。”以上是关于Google App Engine Node.js 应用程序 - “解析 app.yaml 时出错:未知 url 处理程序类型”的主要内容,如果未能解决你的问题,请参考以下文章
Google App Engine Node.js 本地开发服务器是不是支持 SSL?
是否可以使用 Node.js 或其他一些服务器端 JavaScript 方法开发 Google App Engine 网络应用程序?
Meteor JS 框架是不是与 Google App Engine 兼容?
是否有可能使用Google App Engine托管多个应用程序?