将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.yaml
configurationapp/models/xyz.js
的path吗? 没有参考应用程序似乎需要这个?
对于小而简单的项目,所有应用程序的文件都可以存在于一个目录中。 您是对的,您可能需要在app.yaml中configurationpath为“app / models / xyz.js”,或者使用多个* .yaml文件,如组织configuration文件文档中所述。
我分享你的痛苦,我有同样的问题,另外一个单独工作的开发者有同样的问题。 看起来像一个大gcloud更新后发生。
希望他们能解决这个问题