将Node.js应用程序部署到Google App Engine时出现“找不到模块”

我正在尝试将一个简单的Node.js快速应用程序部署到Google App Engine(flex环境)。

应用程序在本地运行良好。 当我尝试部署到App Engine时,出现以下错误:

Error: Cannot find module './app/models/xyz' 

我的app目录结构如下所示:

 server.js app/models/xyz.js 

server.js ,我需要xyz.js文件,如下所示:

 const Xyz = require('./app/models/xyz'); 

如果我将xyz.js文件移动到与server.js相同的根文件夹,则所有的部署和工作都很好。

这是我尝试部署到Google App Engine的第一个node.js应用程序。 我需要在app.yamlconfigurationapp/models/xyz.js的path吗? 没有参考应用程序似乎需要这个?

对于小而简单的项目,所有应用程序的文件都可以存在于一个目录中。 您是对的,您可能需要在app.yaml中configurationpath为“app / models / xyz.js”,或者使用多个* .yaml文件,如组织configuration文件文档中所述。

我分享你的痛苦,我有同样的问题,另外一个单独工作的开发者有同样的问题。 看起来像一个大gcloud更新后发生。

希望他们能解决这个问题