Google App Engine-部署Node.js应用程序时缺少目录

时间:2019-12-09 22:26:24

标签: node.js typescript google-app-engine npm

我有一个用Typescript编写的nodejs Web应用程序(基于koa.js),我想将其部署在Google App Engine上。

该代码已被转换为JavaScript,并且位于./dist/src/的本地。

所以基本上我只想部署./package.json./dist/src/

我的app.yaml:

runtime: nodejs12
service: my-first-service
env_variables:
  somekey: somevalue

package.json中的启动命令:node --require dotenv/config ./dist/src/App.js

上传应用程序正常。但是似乎dist文件夹丢失了。在日志中,我可以看到Error: Cannot find module '/srv/dist/src/App.js'。同样在Stackdriver(调试)中,我看不到dist文件夹。

dist文件夹是我的.gitignore的一部分,但不在.gcloudignore中。

我的.gcloudignore:

.env
.gitcommittemplate
.git
.gitignore
.gitlab-ci.yml
googleCloudKey.json
*.log
*.md
tsconfig.json
tslint.json

.nyc_output/
.vscode/
cli/
dist/tests/
node_modules/
src/
tests/

1 个答案:

答案 0 :(得分:0)

我看到您在container.start(); 中包含了src/文件夹。

这是/ dist / src /丢失link的原因。

  

例如,模式doc / frotz /匹配doc / frotz目录,但不匹配   a / doc / frotz目录;但是frotz /匹配frotz和a / frotz   是目录(所有路径都是.gitignore文件的相对路径)。

我在机器上进行了测试,并得到了相同的结果。当我将.gcloudignore文件夹添加到我的src文件中时,.gcoudignoresrc/均被忽略。